Я пишу чат-сервер на основе Java, и в настоящее время мой проект основан на следующем: - , когда человек в чате отправляет сообщение, класс чата на стороне сервера, отправляет одно и то же сообщение каждому пользователю участник в комнате в петле. Очевидно, что это плохой дизайн, потому что звонки в сети производятся для отдельных участников цикла. Следовательно, например, подумайте, что в чате есть 10 человек. Когда один пользователь отправляет сообщение, класс chatru отправит одно и то же сообщение в цикле всем 10 людям. если можно сказать, 5-й человек в цикле имеет дрянное соединение, время, когда шестой .. 10-й человек увидит, что сообщение будет затронуто.Java Chat Server
Если я перейду от одноадресной передачи к многоадресной рассылке за номер, то как мне получить частную групповую IP-адрес в чате? Кроме того, кажется, что излишнее количество отдельных групп в чате. Одна из основных проблем заключается в том, что когда я ответил пользователям в комнате через цикл, метод, который отправил данные через соединение сокета, блокировал. Следовательно, я думаю, что если я использую неблокирующие сокеты NIO, а затем отправлю сообщение получателям в цикле, это решит проблему? Есть ли другие умные трюки, которые можно сделать для оптимизации отправки данных получателям в комнате?
Попробуйте разделить это на пункты, чтобы люди могли его прочитать. – cdmckay