TGViewer
Java Ready | Программирование Java Ready | Программирование @java_ready · 9.26K subscribers
Post #1814 1.76K
Чат по локальной сети

Создаём самый простой вариант чат, один компьютер запускает сервер, второй клиент, и они обмениваются сообщениями по 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 | #совет
  • ❤ 14
  • 🔥 8
  • 👍 5
More from @java_ready
  1. Oct 9, 2026photo post
  2. Oct 8, 2026Почему String.format может заменить точку на запятую? Представим, что программа сохраняет…
  3. Oct 7, 2026Почему split(".") в Java не делит строку по точке? На первый взгляд кажется, что достаточн…
  4. Oct 6, 2026Безопасная настройка retry для всей системы! В статье Java-разработчик делится опытом внед…
  5. Oct 5, 2026Почему после Stream.toList() нельзя добавить элемент? При работе со Stream часто нужно соб…
  6. Oct 5, 2026Находим три самых популярных товара! Есть поток покупок с повторяющимися названиями. Постр…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →