下面是server端代码:package ex3; //200532580182 pengxu import java.io.*; import java.net.*; public class TCPServer { //the server listen socket private ServerSocket serverSocket; // the server connect socket private Socket socket; //listen port private int port=456; //data write to client private DataOutputStream outToClient; //data receive from the client private BufferedReader inFromClient; //the constructor public TCPServer(){ try{ System.out.println("Server Start: "); //ready to listen port serverSocket=new ServerSocket(port); }catch(Exception e){ e.printStackTrace(); } } public void service(){ try{ //accept tcp connection socket=serverSocket.accept(); outToClient=new DataOutputStream(socket.getOutputStream()); inFromClient=new BufferedReader( new InputStreamReader(socket.getInputStream())); char[] msg=new char[1]; //read data from the client inFromClient.read(msg); //send data to client outToClient.writeBytes("e"); //close the accept socket socket.close(); }catch(Exception e){ e.printStackTrace(); } } public static void main(String [] args) throws Exception{ TCPServer server=new TCPServer(); while(true){ server.service(); } } } <script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script> 下面是client端代码package ex3; //200532580182 pengxu import java.net.*; import java.io.*; public class TCPClient { //the client socket private Socket socket; //tcp connect port private int port=456; //the round trip time private long[] rtt; //server private String remoteHost="localhost"; //server ip private InetAddress remoteIP; //stream write to server private DataOutputStream outToServer; //stream receive from the server private BufferedReader inFromServer; //constructor public TCPClient(){ rtt=new long[1000]; try{ //get the host ip address remoteIP=InetAddress.getByName(remoteHost); }catch(UnknownHostException e){ e.printStackTrace(); } } public void talk(){ try{ System.out.println("Client Start: "); System.out.println("Establish TCP connections,please wait... "); //begin to set 1000 TCP connection and send one byte at each connection for(int i=0;i<1000;i++){ //record the tcp connect start time long startTime=System.currentTimeMillis(); //connect to the server socket=new Socket(remoteIP,port); outToServer=new DataOutputStream(socket.getOutputStream()); inFromServer=new BufferedReader(new InputStreamReader(socket.getInputStream())); String msg="s"; //write data to the server outToServer.writeBytes(msg); char[] ch=new char[1]; //receive data from the server inFromServer.read(ch); //record the tcp connection finish time long finishTime=System.currentTimeMillis(); //the rtt time of this tcp connection rtt[i]=finishTime-startTime; //close this tco connection socket.close(); } }catch(Exception e){ e.printStackTrace(); } double sum=0; //computer the average round trip time for(int j=0;j<1000;j++){ sum+=rtt[j]; } double rrtTime=sum/1000; //print the rrt time System.out.println("rrtTime: "+rrtTime+"ms"); } public static void main(String [] args) throws Exception{ new TCPClient().talk(); } }