第一个人 package TestDemo; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; public class tcp01 { public static void main(String[] args){ tcp01 tcp1 = new tcp01(); new Thread(() -> { tcp1.receive(); }).start(); new Thread(() -> { tcp1.send(); }).start(); } //发送 void send() { Scanner sc = new Scanner(System.in); System.out.print("请输入网名: "); String name = sc.next(); try { while (true) { String txt = name+": "+sc.next(); System.out.println(txt); Socket socket = new Socket("127.0.0.1", 8888); OutputStream os = socket.getOutputStream(); os.write(txt.getBytes()); os.flush(); socket.close(); } } catch (IOException e) { e.printStackTrace(); } } //接收 void receive(){ try { ServerSocket server = new ServerSocket(9999); while (true) { Socket socket = server.accept(); InputStream is = socket.getInputStream(); byte[] bytes = new byte[1024]; int len = is.read(bytes); System.out.println(new String(bytes, 0, len)); } } catch (IOException e) { e.printStackTrace(); } } }
第二个人
package TestDemo; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; public class tcp02 { public static void main(String[] args) { tcp02 tcp2 = new tcp02(); new Thread(() -> { tcp2.receive(); }).start(); new Thread(() -> { tcp2.send(); }).start(); } //发送 void send() { Scanner sc = new Scanner(System.in); System.out.print("请输入网名: "); String name = sc.next(); try { while (true) { String txt = name+": "+sc.next(); System.out.println(txt); Socket socket = new Socket("127.0.0.1", 9999); OutputStream os = socket.getOutputStream(); os.write(txt.getBytes()); os.flush(); socket.close(); } } catch (IOException e) { e.printStackTrace(); } } //接收 void receive() { try { ServerSocket server = new ServerSocket(8888); while (true) { Socket socket = server.accept(); InputStream is = socket.getInputStream(); byte[] bytes = new byte[1024]; int len = is.read(bytes); System.out.println(new String(bytes, 0, len)); } } catch (IOException e) { e.printStackTrace(); } } }