Создаём самый простой вариант чат, один компьютер запускает сервер, второй клиент, и они обмениваются сообщениями по Socket.
Сервер ждёт подключение:
ServerSocket server = new ServerSocket(5000);
Socket socket = server.accept();
System.out.println("Клиент подключился");
Клиент подключается по IP:
Socket socket = new Socket("192.168.0.10", 5000);
System.out.println("Подключено к серверу");Читаем сообщения от собеседника:
BufferedReader in = new BufferedReader(
new InputStreamReader(socket.getInputStream())
);
Отправляем свои сообщения:
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println("Привет из клиента!");
Чтобы чат работал постоянно, один поток читает, второй пишет:
new Thread(() -> {
while (true) System.out.println(in.readLine());
}).start();Основной поток отправляет то, что вводишь в консоль:
Scanner sc = new Scanner(System.in);
while (true) out.println(sc.nextLine());
В итоге получается уже настоящий чат по локалке,
один ПК запускает сервер, второй подключается по IP, и сообщения ходят в обе стороны в реальном времени.
👉 Java Ready | #совет
