package com.qiku.day23; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.Socket; import java.net.UnknownHostException; import java.util.Scanner; public class ConsumerTest { public static void main(String[] args) { Socket socket = null;//客户端Socket BufferedReader br = null;//读服务器的消息 PrintStream ps = null;//给服务器发消息 Scanner sc = null; try { sc = new Scanner(System.in); socket = new Socket("127.0.0.1", 9999);br = new BufferedReader(new InputStreamReader(socket.getInputStream())); ps = new PrintStream(socket.getOutputStream()); System.out.println("链接成功..."); while (true) { System.out.print("请输入要发送的消息:"); String clientMsg = sc.next(); ps.println(clientMsg); String serverMsg = br.readLine(); System.out.println("服务器:" + serverMsg); } } catch (IOException e) { e.printStackTrace(); } try { sc.close(); assert socket != null; socket.close(); assert br != null; br.close(); assert ps != null; ps.close(); } catch (IOException e) { e.printStackTrace(); } } }
package com.qiku.day23; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.Socket; public class ServerThread implements Runnable{ private Socket socket; public ServerThread(Socket socket) { this.socket = socket; } @Override public void run() { BufferedReader br = null; PrintStream ps = null; try { br = new BufferedReader(new InputStreamReader(socket.getInputStream())); ps = new PrintStream(socket.getOutputStream()); while (true) { String clientMsg = br.readLine(); if (clientMsg != null) { System.out.println("客户端" + socket.getInetAddress() + ":" + clientMsg); ps.println("已收到信息~~~"); } } } catch (IOException e) { System.out.println("客户端" + socket.getInetAddress() + "已断开连接..."); } finally { try { assert br != null; br.close(); assert ps != null; ps.close(); assert socket != null; socket.close(); } catch (IOException e) { e.printStackTrace(); } } } }
package com.qiku.day23; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class ServerTest { public static void main(String[] args) { ServerSocket serverSocket = null; Socket socket = null; try { serverSocket = new ServerSocket(8888); while (true) { socket = serverSocket.accept(); System.out.println("客户端" + socket.getInetAddress() + "链接成功"); new Thread(new ServerThread(socket)).start(); } } catch (IOException e) { e.printStackTrace(); } try { assert serverSocket != null; serverSocket.close(); assert socket != null; socket.close(); }catch (IOException e){ e.printStackTrace(); } } }