A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

服务端:public class Server {
    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = new ServerSocket(8080);
        Socket socket = serverSocket.accept();
        new Thread(() -> {
            while (true) {
                try {
                    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                    String string;
                    while ((string = bufferedReader.readLine()) != null&&!string.equals("exit")) {
                        System.out.println("客户端:" + string);
                    }
                    if (string.equals("exit")) {
                        System.out.println("对方已下线");
                        System.exit(0);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }).start();
        new Thread(() -> {
            try {
                while (true) {
                    BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
                    Scanner scanner = new Scanner(System.in);
                    String next = scanner.next();
                    bufferedWriter.write(next);
                    bufferedWriter.newLine();
                    bufferedWriter.flush();
                    if (next.equals("exit")) {
                        System.exit(0);
                    }
                }

            } catch (IOException e) {
                e.printStackTrace();
            }
        }).start();
    }
}

客户端:
public class Client {
    public static void main(String[] args) throws IOException {
        Socket socket = new Socket("127.0.0.1", 8080);
        new Thread(() -> {
            try {
                while (true) {
                    BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
                    Scanner scanner = new Scanner(System.in);
                    String next = scanner.next();
                    bufferedWriter.write(next);
                    bufferedWriter.newLine();
                    bufferedWriter.flush();
                    if (next.equals("exit")) {
                        System.exit(0);
                    }
                }

            } catch (IOException e) {
                e.printStackTrace();
            }
        }).start();
        new Thread(() -> {
            while (true) {
                try {
                    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                    String string;
                    while ((string = bufferedReader.readLine()) != null&&!string.equals("exit")) {
                        System.out.println("服务端:" + string);
                    }
                    if (string.equals("exit")) {
                        System.out.println("对方已下线");
                        System.exit(0);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马