ckage 第十九章; ? 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 TcpOne { ?? ?public static void main(String[] args){ ? ? ? ? TcpOne tcp1 = new TcpOne(); ? ? ? ? new Thread(() -> { ? ? ? ? ? ? tcp1.receive(); ? ? ? ? }).start(); ? ? ? ? ? new Thread(() -> { ? ? ? ? ? ? tcp1.send(); ? ? ? ? }).start(); ? ? } ? ? ? void send() { ? ? ? ? Scanner sc = new Scanner(System.in); ? ? ? ? try { ? ? ? ? ? ? while (true) { ? ? ? ? ? ? ? ? System.out.println("------------------"); ? ? ? ? ? ? ? ? System.out.println("请输入内容"); ? ? ? ? ? ? ? ? String txt = sc.next(); ? ? ? ? ? ? ? ? System.out.println("------------------"); ? ? ? ? ? ? ? ? ? Socket socket = new Socket("星空之下", 10001); ? ? ? ? ? ? ? ? OutputStream os = (OutputStream) socket.getOutputStream(); ? ? ? ? ? ? ? ? os.write(txt.getBytes()); ? ? ? ? ? ? ? ? os.flush(); ? ? ? ? ? ? ? ? socket.close(); ? ? ? ? ? ? } ? ? ? ? } catch (IOException e) { ? ? ? ? ? ? e.printStackTrace(); ? ? ? ? } ? ? ? } ? ? ? void receive() { ? ? ? ? try { ? ? ? ? ? ? ServerSocket server = new ServerSocket(10007); ? ? ? ? ? ? while (true) { ? ? ? ? ? ? ? ? Socket socket = server.accept(); ? ? ? ? ? ? ? ? InputStream is = (InputStream) 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(); ? ? ? ? } ? ? } }
|