手機用戶端

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>
arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()