1 客户端代码
public class MyClient { public static void main(String[] args) { try { // 获取Socket Socket socket = new Socket("localhost", 10086); // 获取输出流 OutputStream os = socket.getOutputStream(); PrintWriter pw = new PrintWriter(os); // 向服务器发送信息 pw.write("苹果用英语怎么说?"); pw.flush(); // 关闭输出流 socket.shutdownOutput(); // 获取输入流 InputStream is = socket.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); // 接收服务器信息 String data = null; while ((data = br.readLine()) != null) { System.out.println("我是客户端,服务器说:" + data); } // 关闭输入流 socket.shutdownInput(); } catch (Exception e) { e.printStackTrace(); } } }
2 服务器代码
public class MyServer { public static void main(String[] args) { try { // 获取ServerSocket ServerSocket serverSocket = new ServerSocket(10086); // 等待客户端呼叫 System.out.println("等待呼叫中..."); Socket socket = serverSocket.accept(); // 获取输入流 InputStream is = socket.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); // 读取客户端信息 String data = null; while ((data = br.readLine()) != null) { System.out.println("我是服务器,客户端说:" + data); } // 关闭输入流 socket.shutdownInput(); // 获取输出流 OutputStream os = socket.getOutputStream(); PrintWriter pw = new PrintWriter(os); // 向客户端发送信息 pw.print("苹果的英语是apple!"); pw.flush(); // 关闭输出流 socket.shutdownOutput(); } catch (Exception e) { e.printStackTrace(); } } }