当前位置:首页文章首页 IT学院 IT技术

在Android下巧妙使用Socket连接网络中的电脑

作者:  来源:  发布时间:2011-4-19 19:29:29  点击:

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

  其一,Android上面的Client

  其二,PC上的Server

  Android上面的实现代码如下

  view plaincopy to clipboardprint?

  package Hello.MySocket;

  import java.io.BufferedReader;

  import java.io.BufferedWriter;

  import java.io.IOException;

  import java.io.InputStreamReader;

  import java.io.OutputStreamWriter;

  import java.io.PrintWriter;

  import java.net.Socket;

  import java.net.UnknownHostException;

  import android.app.Activity;

  import android.os.Bundle;

  import android.util.Log;

  import android.view.View;

  import android.widget.Button;

  import android.widget.EditText;

  import android.widget.TextView;

  public class MySocket extends Activity {

   private final String DEBUG_TAG="lengfeng";

   public void onCreate(Bundle savedInstanceState) {

   super.onCreate(savedInstanceState);

   setContentView(R.layout.main);

  

   Log.v("lengfeng","Android Start Connect");

  

   Socket socket=null;

   String mesg="my name is log \r\n";

   try {

   socket=new Socket("10.0.2.2",54321);

   //向服务器发送信息

   PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);

   out.println(mesg);

  

   //接受服务器的信息

   BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));

   String mstr=br.readLine();

   if(mstr!=null)

   {

   Log.e(DEBUG_TAG,mesg);

   }else

   {

   Log.e(DEBUG_TAG,"数据错误");

   }

   out.close();

   br.close();

   socket.close();

   } catch (UnknownHostException e) {

   e.printStackTrace();

   } catch (IOException e) {

   e.printStackTrace();

   }catch(Exception e)

   {

   Log.e(DEBUG_TAG,e.toString());

   }

   }

  }

  package Hello.MySocket;

  import java.io.BufferedReader;

  import java.io.BufferedWriter;

  import java.io.IOException;

  import java.io.InputStreamReader;

  import java.io.OutputStreamWriter;

  import java.io.PrintWriter;

  import java.net.Socket;

  import java.net.UnknownHostException;

  import android.app.Activity;

  import android.os.Bundle;

  import android.util.Log;

  import android.view.View;

  import android.widget.Button;

  import android.widget.EditText;

  import android.widget.TextView;

  public class MySocket extends Activity {

   private final String DEBUG_TAG="lengfeng";

   public void onCreate(Bundle savedInstanceState) {

   super.onCreate(savedInstanceState);

   setContentView(R.layout.main);

  

   Log.v("lengfeng","Android Start Connect");

  

   Socket socket=null;

   String mesg="my name is log \r\n";

   try {

   socket=new Socket("10.0.2.2",54321);

   //向服务器发送信息

   PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);

   out.println(mesg);

  

   //接受服务器的信息

   BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));

   String mstr=br.readLine();

   if(mstr!=null)

   {

   Log.e(DEBUG_TAG,mesg);

   }else

   {

   Log.e(DEBUG_TAG,"数据错误");

   }

   out.close();

   br.close();

   socket.close();

   } catch (UnknownHostException e) {

   e.printStackTrace();

   } catch (IOException e) {

   e.printStackTrace();

   }catch(Exception e)

   {

   Log.e(DEBUG_TAG,e.toString());

   }

   }

  }

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

  view plaincopy to clipboardprint?

  import java.io.BufferedReader;

  import java.io.BufferedWriter;

  import java.io.IOException;

  import java.io.InputStreamReader;

  import java.io.OutputStreamWriter;

  import java.io.PrintWriter;

  import java.net.ServerSocket;

  import java.net.Socket;

  

  public class MyJavaServer {

   /**

   * @param args

   */

  

   public static void main(String[] args) {

   // TODO Auto-generated method stub

   System.out.print("MyJavaServer Start Runing\n");

  

   try {

   ServerSocket serverSocket=new ServerSocket(54321);

   while(true)

   {

   System.out.println("接收用户连接:");

   //接受客户端请求

   Socket client=serverSocket.accept();

   System.out.println("accept:");

   try

   {

   //接受客户端信息

   BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));

文章评论

软件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z