手機用戶端
01 package com.newsocket;
02
03 import java.io.BufferedReader;
04 import java.io.BufferedWriter;
05 import java.io.DataInputStream;
06 import java.io.DataOutputStream;
07 import java.io.InputStreamReader;
08 import java.io.OutputStreamWriter;
09 import java.io.PrintWriter;
10 import java.net.Socket;
11
12 import android.app.Activity;
13 import android.os.Bundle;
14 import android.util.Log;
15 import android.view.View;
16 import android.widget.*;
17 public class Activity01 extends Activity {
18 private final String DEBUG_TAG = "Activity01";
19 private TextView mTextView = null;
20 private EditText mEditText = null;
21 private EditText mima = null;
22 private Button mButton = null;
23 private DataOutputStream toserver;
24 private DataInputStream fromserver;
25 public void onCreate(Bundle savedInstanceState) {
26 super.onCreate(savedInstanceState);
27 setContentView(R.layout.main);
28 mButton = (Button) this.findViewById(R.id.button1);
29 mButton.setText("登錄");
30 mTextView = (TextView) this.findViewById(R.id.textView1);
31 mEditText = (EditText) this.findViewById(R.id.editText1);
32 mima =(EditText) this.findViewById(R.id.editText2);
33 mButton.setOnClickListener(new Button.OnClickListener(){
34 public void onClick(View v) {
35 Socket socket = null;
36 String ms = mEditText.getText().toString();
37 String message = mima.getText().toString()+"\r\n";
38 try{
39 socket = new Socket("192.168.1.100",54321);
40 //接受伺服器的資料流程
41 fromserver = new DataInputStream( socket.getInputStream());
42 //要發送的資料流程
43 toserver=new DataOutputStream(socket.getOutputStream());
44 toserver.writeBytes(message);
45 toserver.flush();
46 String msg = fromserver.readLine();
47 if(msg != null)
48 { if(msg.equals(ms))
49 mTextView.setText("登錄成功");
50 else
51 mTextView.setText("密碼錯誤");
52 }else
53 {
54 mTextView.setText("資料錯誤");
55
56 }
57 toserver.close();
58 fromserver.close();
59 socket.close();
60 }catch(Exception e){
61 mTextView.setText("沒連接上");
62 }
63
64 }
65
66 });
67 }
68 }
pc簡單的伺服器
01 import java.io.BufferedReader;
02 import java.io.BufferedWriter;
03 import java.io.InputStreamReader;
04 import java.io.OutputStreamWriter;
05 import java.io.PrintWriter;
06 import java.net.ServerSocket;
07 import java.net.Socket;
08
09
10 public class AndroidServer implements Runnable{
11
12 @Override
13 public void run() {
14 try{
15 ServerSocket serverSocket = new ServerSocket(54321);
16 while(true){
17 System.out.println("Android socket 等待接受客戶的連接");
18 Socket client = serverSocket.accept();//接受用戶端請求
19 try{
20 BufferedReader in = new BufferedReader
21 (new InputStreamReader(client.getInputStream()));
22 String str = in.readLine();
23 System.out.println("read:"+str);
24 PrintWriter out = new PrintWriter
25 (new BufferedWriter(new OutputStreamWriter(client.getOutputStream())),true
26 );
27 out.println(str);
28 in.close();
29 out.close();
30 }catch(Exception e){
31 System.out.println(e.getMessage());
32 e.printStackTrace();
33 }
34 finally{
35 client.close();
36 System.out.println("Android socket close");
37 }
38
39 }
40 }catch(Exception e){
41 System.out.println(e.getMessage());
42 }
43
44 }
45 public static void main(String[] srgs){
46 Thread desktopServerThread = new Thread(new AndroidServer());
47 desktopServerThread.start();
48 }
49
50
51 }
別忘了在AndroieManifest.xml里加上這個
1 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
全站熱搜
留言列表