import java.net.*; import java.io.*; class Server { public Server() { BufferedReader br = null; PrintWriter pw = null; try { ServerSocket server = new ServerSocket(8888);// 建立服务器端 Socket socket = server.accept();// 监听客户端 // 得到该连接的输入流 br = new BufferedReader(new InputStreamReader(socket .getInputStream())); // 得到该连接的输出流 pw = new PrintWriter(socket.getOutputStream(), true); // 先读后写 String data = br.readLine(); System.out.println(data);// 输出到控制台 pw.println(data);// 转发给客户端 } catch (Exception e) { e.printStackTrace(); } finally { try { // 关闭读写流 br.close(); pw.close(); } catch (Exception e) { } } } public static void main(String[] args) { Server server = new Server(); } }
import java.net.*; import java.io.*; class Client { public Client() { BufferedReader br = null; PrintWriter pw = null; try { Socket socket = new Socket("localhost", 8888);// 与服务器建立连接,服务器要先启 // 得到Socket的输入与输出流 br = new BufferedReader(new InputStreamReader(socket .getInputStream())); pw = new PrintWriter(socket.getOutputStream(), true); // 先写后读 pw.println("Client:你好!"); String data = null; while (true) { data = br.readLine(); if (data != null) break; } System.out.println(data); } catch (Exception e) { e.printStackTrace(); } finally { try { br.close(); pw.close(); } catch (Exception e) { } } } public static void main(String[] args) { Client c = new Client(); } }