Android下使用Socket连接网络电脑


既然是使用SOCKET连接网络上的电脑,就分为两部分 

其一,Android上面的Client

其二,PC上的Server 

Android上面的实现代码如下

  1. package Hello.MySocket;  
  2. import java.io.BufferedReader;  
  3. import java.io.BufferedWriter;  
  4. import java.io.IOException;  
  5. import java.io.InputStreamReader;  
  6. import java.io.OutputStreamWriter;  
  7. import java.io.PrintWriter;  
  8. import java.net.Socket;  
  9. import java.net.UnknownHostException;  
  10. import android.app.Activity;  
  11. import android.os.Bundle;  
  12. import android.util.Log;  
  13. import android.view.View;  
  14. import android.widget.Button;  
  15. import android.widget.EditText;  
  16. import android.widget.TextView;  
  17. public class MySocket extends Activity {  
  18.     private final String DEBUG_TAG="lengfeng";  
  19.     public void onCreate(Bundle savedInstanceState) {  
  20.         super.onCreate(savedInstanceState);  
  21.         setContentView(R.layout.main);  
  22.           
  23.         Log.v("lengfeng","Android Start Connect");  
  24.           
  25.                 Socket socket=null;  
  26.                 String mesg="my name is log /r/n";  
  27.                 try {  
  28.                     socket=new Socket("10.0.2.2",54321);  
  29.                     //向服务器发送信息   
  30.                     PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);  
  31.                     out.println(mesg);  
  32.                       
  33.                     //接受服务器的信息   
  34.                     BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));  
  35.                     String mstr=br.readLine();  
  36.                     if(mstr!=null)  
  37.                     {  
  38.                         Log.e(DEBUG_TAG,mesg);  
  39.                     }else  
  40.                     {  
  41.                         Log.e(DEBUG_TAG,"数据错误");  
  42.                     }  
  43.                     out.close();  
  44.                     br.close();  
  45.                     socket.close();  
  46.                 } catch (UnknownHostException e) {  
  47.                     e.printStackTrace();  
  48.                 } catch (IOException e) {  
  49.                     e.printStackTrace();  
  50.                 }catch(Exception e)  
  51.                 {  
  52.                     Log.e(DEBUG_TAG,e.toString());  
  53.                 }  
  54.     }  
  55. }  

PC上面的Server 创建一个java的项目

  1. import java.io.BufferedReader;  
  2. import java.io.BufferedWriter;  
  3. import java.io.IOException;  
  4. import java.io.InputStreamReader;  
  5. import java.io.OutputStreamWriter;  
  6. import java.io.PrintWriter;  
  7. import java.net.ServerSocket;  
  8. import java.net.Socket;  
  9.       
  10. public class MyJavaServer {  
  11.     /** 
  12.      * @param args 
  13.      */  
  14.       
  15.     public static void main(String[] args) {  
  16.         // TODO Auto-generated method stub   
  17.         System.out.print("MyJavaServer Start Runing/n");  
  18.           
  19.         try {  
  20.             ServerSocket serverSocket=new ServerSocket(54321);  
  21.             while(true)  
  22.             {  
  23.                 System.out.println("接收用户连接:");  
  24.                 //接受客户端请求   
  25.                 Socket client=serverSocket.accept();  
  26.                 System.out.println("accept:");  
  27.                 try  
  28.                 {  
  29.                     //接受客户端信息   
  30.                     BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));  
  31.                     String str=in.readLine();  
  32.                     System.out.println("read:"+str);  
  33.                     //向服务器发送消息   
  34.                     PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(client.getOutputStream())),true);  
  35.                     out.println("Server Message:"+str);  
  36.                     in.close();  
  37.                     out.close();  
  38.                 }catch(Exception ex)  
  39.                 {  
  40.                     System.out.println(ex.getMessage());  
  41.                     ex.printStackTrace();  
  42.                 }  
  43.                 finally  
  44.                 {  
  45.                     client.close();  
  46.                     System.out.println("close");  
  47.                 }  
  48.             }  
  49.         } catch (IOException e) {  
  50.             System.out.println(e.getMessage());  
  51.         }  
  52.     }  
  53.       
  54. }  

相关内容