Echo服务器客户端程序.docx
文本预览下载声明
客户端代码如下:importjava.io.*;import .*;publicclassEchoClient {publicstaticvoid main(String args[]) { String hostname = localhost;if(args.length 0){ hostname = args[0]; }//定义一系列的变量,并初始化PrintWriter out = null; BufferedReadernetworkIn = null; Socket theSocket = null; BufferedReaderuserIn = null; try {theSocket = new Socket(hostname,7); networkIn = newBufferedReader(newInputStreamReader(theSocket.getInputStream())); out = newPrintWriter(newBufferedWriter(newOutputStreamWriter(theSocket.getOutputStream())),true);userIn = newBufferedReader(newInputStreamReader(System.in));System.out.println(connect to echo Server + hostname);while(true){ String theLine = userIn.readLine();if(theLine.equals(.))break;out.println(theLine);out.flush();System.out.println(networkIn.readLine()); } } catch (UnknownHostException ex) {System.err.println(ex); } catch (IOException ex) {System.err.println(ex); }finally {try {if(networkIn != null)networkIn.close();if(out != null)out.close(); } catch (IOException e) { } } }}服务器端代码如下:importjava.io.*;import .*;publicclassEchoServer {publicstaticvoid main(String args[]){ ServerSocketserversocket = null; Socket socket = null; BufferedReader in = null; PrintWriter out = null; try {serversocket = newServerSocket(7); //实例化端口7的套接字用于连接while(true){ System.out.println(The Server is start: +serversocket); socket = serversocket.accept(); //侦听并等待客户端的连接System.out.println(Accept the Client: + socket);//实例化BufferedReader对象用于接收客户端发送来的消息//InputStreamReader的作用是将字节流转换成为字符流//从网络中得到的数据将会存放在inBuffer变量当中 in = newBufferedReader(newInputStreamReader(socket.getInputStream()));//得到输出流 out = newPrintWriter(newBufferedWriter(newOutputStreamWriter(socket.getOutputStream())),true); while(true){ String s = in.readL
显示全部