本例只做简单功能演示,代码并不严谨,只是说明客户端如何实现连接服务端简单代码。
代码在集成Eclipse工具下测试编译运行环境如下图所示:
客户端echoClient.java代码:
1packagecom.zhengzz.echo;23importjava.io.BufferedReader;4importjava.io.IOException;5importjava.io.InputStreamReader;6importjava.io.PRintWriter;7importjava.net.Socket;8importjava.net.UnknownHostException;910classEchoC{1112privateSocket socket;1314publicEchoC() {15//TODO Auto-generated constructor stub16try{17socket =newSocket("localhost", 60000);18}catch(UnknownHostException e) {19e.printStackTrace();20}catch(IOException e) {21e.printStackTrace();22}23}2425publicvoidClient() {26try{27BufferedReader br =newBufferedReader(newInputStreamReader(socket.getInputStream()));28PrintWriter pw =newPrintWriter(socket.getOutputStream(),true);29BufferedReader lbr =newBufferedReader(newInputStreamReader(System.in));3031String linestr =null;32while((linestr = lbr.readLine()) !=null) {3334pw.println(linestr);3536System.out.println(br.readLine());3738if(linestr.equals("bye#")) {39
break;40}41}424344}catch(IOException e) {45e.printStackTrace();46}47}48}4950publicclassechoClient {5152publicstaticvoidmain(String[] args) {53newEchoC().Client();54}5556}
服务端echoServer.java代码:
1packagecom.zhengzz.echo;23importjava.io.BufferedReader;4importjava.io.IOException;5importjava.io.InputStreamReader;6importjava.io.PrintWriter;7importjava.net.ServerSocket;8importjava.net.Socket;910classEchoS{1112privateServerSocket serverSocket;1314publicEchoS() {1516try{17serverSocket =newServerSocket(60000);18}catch(IOException e) {19e.printStackTrace();20}2122}2324publicvoidServer() {25while(true) {26try{27Socket socket =serverSocket.accept();2829System.out.println("client:" + socket.getInetAddress() + ":" +socket.getLocalPort());3031BufferedReader br =newBufferedReader(newInputStreamReader(socket.getInputStream()));32PrintWriter pw =newPrintWriter(socket.getOutputStream(),true);3334String linestr;3536while((linestr = br.readLine()) !=null) {3738System.out.println(linestr);3940pw.println("--->" +linestr);4142}43}catch(IOException e) {44System.out.println("连接断开:(");45}4647}48}49}5051publicclassechoServer {5253publicstaticvoidmain(String[] args) {54newEchoS().Server();55}5657}
我在Eclipse工具下直接调试结果如下: