java socket通讯之 echo server 和echo client例子

来源:互联网 发布:千峰python视频教程 编辑:程序博客网 时间:2024/05/23 01:25
import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class EchoServer {public EchoServer(int port) throws IOException {ServerSocket serverSocket = new ServerSocket(port);System.out.println("starting echo server on port: " + port);while (true) {Socket socket = serverSocket.accept();System.err.println("accept connection from client");InputStream in = socket.getInputStream();OutputStream out = socket.getOutputStream();byte[] b = new byte[4 * 1024];int len;while ((len = in.read(b)) != -1) {out.write(b, 0, len);}System.err.println("closing connection with client");out.close();in.close();socket.close();}}public static void main(String[] args) throws IOException {new EchoServer(4444);}}
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket;public class EchoClient {public EchoClient(){try {int port=4444;Socket socket = new Socket("127.0.0.1", port);//System.out.println("please input data:");for(int i=1;i<=15;i++){sendData(socket, "data"+i);}socket.close();} catch (Exception e) {e.printStackTrace();}}public static void main(String args[]) {new EchoClient();}public  boolean sendData(Socket socket,String data){try {PrintWriter os = new PrintWriter(socket.getOutputStream());os.println(data);os.flush();System.out.println("Client:" + data);BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));System.out.println("Server:" + is.readLine());return true;} catch (IOException e) {e.printStackTrace();return false;}}}


0 0
原创粉丝点击