Я хочу построить мессенджер на Java.
- Клиенты подключатся к серверу для входа в систему.
- Они начнут разговор с одним или несколькими другими клиентами..
- Затем они будут отправлять сообщения на сервер, который будет передавать сообщения всем клиентам.
Клиент должен постоянно обновляться, когда пользователи публикуют сообщения или входят в систему.
так, как я понимаю, клиент должен сам запустить сервер в отдельном потоке, чтобы основной сервер мог отправлять на него данные.В противном случае клиент должен будет опросить главный сервер каждые xyz секунды, чтобы получить последние обновления.И для этого в любом случае потребуется отдельный поток, так как он предназначен исключительно для получения обновлений, тогда как «основной» поток будет использоваться для того, когда клиент инициирует такие действия, как отправка сообщений / приглашение других к беседам и т. Д.
Так кто-нибудь рекомендации, как написать этот мессенджер?Разве это не хорошая идея сделать соединение «двусторонним», когда и клиент, и сервер выступают в роли серверов?Или опрос лучше?Кто-нибудь знает, как протокол IRC делает это?