- 基于Socket完成客户端与服务器端之间端对端的通信。
public class Client { public static void main(String[] args) { try { // 1.建立与服务端的Socket连接 Socket socket = new Socket("127.0.0.1", 9999); // 2.从socket管道中得到一个字节输出流 OutputStream os = socket.getOutputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 3.把字节输出流包装成一个打印流 PrintWriter pw = new PrintWriter(os); while(true){ System.out.print("请输入:"); // 发送一行消息给服务端 pw.println(br.readLine()); pw.flush(); } } catch (Exception e) { e.printStackTrace(); } } } |
public class Server { public static void main(String[] args) { try { System.out.println("--服务端启动--"); // 1.定义一个ServerSocket用于接收客户端的连接 // 9999 端口是用于标记服务端的,以便客户端可以找到服务端 // 0 - 65539 ServerSocket serverSocket = new ServerSocket(9999); // 2.开始接收客户端的Socket连接 // 这行代码会处于等待状态,等待客户端的连接 Socket socket = serverSocket.accept(); // 3.从socket管道中得到一个字节输入流 ,因为接收消息是把消息流进来 InputStream is = socket.getInputStream(); // 4.从字节输入流中获取客户端socket发来的消息 Reader fr = new InputStreamReader(is); BufferedReader br = new BufferedReader(fr); // 5.读一行消息 String line = null;
while ((line = br.readLine()) != null) { System.out.println("收到客户端消息:" + line); }
} catch (Exception e) { e.printStackTrace(); } } } |