从事android客户端测试。微博:http://weibo.com/xingzunxi

javaTcp通信小程序

上一篇 / 下一篇  2009-05-26 15:37:31 / 个人分类:java技术

TCP提供的网络通讯接口与用户数据报协议(UDP)截然不同。TCP的特性使网络编程很具魅力,而且它删除了UDP的很多干扰部分(例如数据包的排序和丢失),简化了网络通讯。UDP关心的是数据包的传输,而TCP关注的是建立网络连接,并在网络连接中发送和接收字节流。

下边是编写的一个简单的Tcp通信代码,

服务器端:

package net;

/**
 *
 * @author xingdabang
 */
import java.io.*;
import java.net.*;
class Servicer implements Runnable{
    Socket s;
    public Servicer(Socket s){
    this.s=s;
    }
   public void run(){
    try{
    InputStream ips=s.getInputStream();
    OutputStream ps=s.getOutputStream();
    BufferedReader br=new BufferedReader(new InputStreamReader(ips));
    DataOutputStream dos=new DataOutputStream(ops);
    while(true){
        String strword=br.readLine();
        if(strword.equalsIgnoreCase("quit"))
            break;
        String strecho=(new StringBuffer(strword).reverse()).toString();
        dos.writeBytes(strword+"     "+strecho+"\r\n");
        System.out.println(strecho);
        br.close();
        dos.close();
        s.close();
    }
    }catch(Exception e){
    }
   }
}
public class TcpServer {
    public static void main(String args[]){
        try{
    ServerSocket ss=new ServerSocket(9000);
   while(true){
   Socket s=ss.accept();
   new Thread(new Servicer(s)).start();
   }

    }catch(Exception e){}

}
}

客户端:

package net;

/**
 *
 * @author xingdabang
 */
import java.io.*;
import java.net.*;
public class TcpClient {
    public static void main(String args[]){
     try{
//       if(args.length<2){
//       System.out.println("budui");
//       return;
//       }
//       Socket s=new Socket(InetAddress.getByName(args[0]),Integer.parseInt(args[1]));
          Socket s=new Socket(InetAddress.getByName("192.168.136.220"),9000);
//       System.out.println(InetAddress.getByName("192.168.136.220"));
      
       InputStream ips=s.getInputStream();
    OutputStream ps=s.getOutputStream();
    BufferedReader brkey=new BufferedReader(new InputStreamReader(System.in));
    DataOutputStream dos=new DataOutputStream(ops);
   BufferedReader brnet=new BufferedReader(new InputStreamReader(ips));
    while(true){

        String strword=brkey.readLine();
      System.out.println(strword);

      dos.writeBytes(strword + System.getProperty("line.separator"));
     
      if(strword.equalsIgnoreCase("quit"))
          break;
      else
          System.out.println(brnet.readLine());
    }
   dos.close();
   brnet.close();
   brkey.close();
   s.close();
     }catch(Exception e){
     System.out.println("buhao");
     }
    }

}


TAG:

 

评分:0

我来说两句

Open Toolbar