В общем, предполагается, что обмен сообщений между клиентами будет происходить через сокеты.
У этого подхода есть определённые плюсы, например, в случае ошибки в одном чате, у нас не ляжет весь мессенджер.
скорость отправки сообщений, ибо они не проходят через какой либо парсинг или что-то в этом духе, за исключением разве что определённой визуализации на javaFX.
всё равно остаётся риск, что при высоких нагрузках, порты на стороне сервера могут тупо закончится.
Я только учусь и это мой первый крупный проект, поэтому не судите строго
Для контроля трафика нужен промежуточный прокси-сервер, который еще будет подменять ssl-сертификаты, но подмена будет явно заметна конечному пользователю.