#java #sockets #client
#java #сокеты #клиент
Вопрос:
На моем сервере возникла огромная проблема с отправкой объекта, полученного от клиента, другому клиенту. Этот объект является ChatMessage. Мой сервер способен отправить это сообщение тому же клиенту, но я не могу придумать способ направить это сообщение другому клиенту.
Пожалуйста, помогите, заранее большое вам спасибо.
Комментарии:
1. Если это помогает, как только клиент открывает сокет для сервера, нет разницы между тем, кто является сервером, а кто клиентом. Сервер также может инициировать диалоги.
Ответ №1:
Серверу нужны оба клиентских соединения, открытые одновременно, и способ узнать, что сообщение, полученное от клиента-1, должно быть перенаправлено клиенту-2. Ваш протокол должен обрабатывать КАК запросы клиент-сервер, так и запросы сервер-клиент.
Ответ №2:
В сети есть любое количество примеров для этого. Быстрый поиск в Google привел к появлению этого руководства:
http://programming-guides.com/java/tcp-client-server-chat
Вам необходимо поддерживать несколько подключений, по одному для каждого клиента, и отправлять данные соответствующим клиентам, когда вы их получаете.