Как читать с клиента и отправлять другому клиенту через серверный сокет в Java

#java #sockets #client

#java #сокеты #клиент

Вопрос:

На моем сервере возникла огромная проблема с отправкой объекта, полученного от клиента, другому клиенту. Этот объект является ChatMessage. Мой сервер способен отправить это сообщение тому же клиенту, но я не могу придумать способ направить это сообщение другому клиенту.

Пожалуйста, помогите, заранее большое вам спасибо.

Комментарии:

1. Если это помогает, как только клиент открывает сокет для сервера, нет разницы между тем, кто является сервером, а кто клиентом. Сервер также может инициировать диалоги.

Ответ №1:

Серверу нужны оба клиентских соединения, открытые одновременно, и способ узнать, что сообщение, полученное от клиента-1, должно быть перенаправлено клиенту-2. Ваш протокол должен обрабатывать КАК запросы клиент-сервер, так и запросы сервер-клиент.

Ответ №2:

В сети есть любое количество примеров для этого. Быстрый поиск в Google привел к появлению этого руководства:

http://programming-guides.com/java/tcp-client-server-chat

Вам необходимо поддерживать несколько подключений, по одному для каждого клиента, и отправлять данные соответствующим клиентам, когда вы их получаете.