android-socket(tcp协议)

tcp 服务器
 
public class SocketActivity  {
 
    class ServerThread extends Thread{
     public void run(){
            //声明一个ServerSocket对象
           ServerSocket serverSocket = null;
            try {
                 //创建一个ServerSocket对象,并让这个Socket在4567端口监听
                     serverSocket = new ServerSocket(4567);
                      //调用ServerSocket的accept()方法,接受客户端所发送的请求
                     Socket socket = serverSocket.accept();
                      //从Socket当中得到InputStream对象
                     InputStream inputStream =  socket.getInputStream();
                      byte buffer [] = new byte[1024*4];
                      int temp = 0;
                      //从InputStream当中读取客户端所发送的数据
                      while((temp = inputStream.read(buffer)) != -1){
                           System. out.println( new String(buffer,0,temp));
                     }
                      //返回给客户端
                     PrintWriter pw= new PrintWriter(socket.getOutputStream(),true );
                     pw. println("我是服务器");

                } catch (IOException e) {
                      // TODO Auto-generated catch block
                     e.printStackTrace();
                }
                 finally{
                      try {
                           serverSocket.close();
                     } catch (IOException e) {
                            // TODO Auto-generated catch block
                           e.printStackTrace();
                     }
                }
           
     }
  /*       public void run(){
           try {
                //创建一个DatagramSocket对象,并指定监听的端口号
                     DatagramSocket socket = new DatagramSocket(4567);
                     byte data [] = new byte[1024];
                     //创建一个空的DatagramPacket对象
                     DatagramPacket packet = new DatagramPacket(data,data.length);
                     //使用receive方法接收客户端所发送的数据
                     socket.receive(packet);
                     String result = new String(packet.getData(),packet.getOffset(),packet.getLength());
                     System.out.println("result--->" + result);
                } catch (Exception e) {
                     // TODO Auto-generated catch block
                     e.printStackTrace();
                }
     }*/
    }
}
 
 
客户端
public MyClient() {
           try {
              Socket s= new Socket("127.0.0.1" ,4567);
               //如果连接成功就可以发送数据了
               //通过 printer 写入数据
              PrintWriter printWriter= new PrintWriter(s.getOutputStream(),true );
               printWriter.println("你好 ,我是客户端");
              BufferedReader br= new BufferedReader(new InputStreamReader(s.getInputStream()));
              System. out.println("客户端收到" +br.readLine());
          } catch (UnknownHostException e) {
               // TODO Auto-generated catch block
              e.printStackTrace();
          } catch (IOException e) {
               // TODO Auto-generated catch block
              e.printStackTrace();
          }
     }

 

posted @ 2013-12-06 12:28  可惜不是你  阅读(434)  评论(0编辑  收藏  举报