Мне не хватает смысла, почему вы пытаетесь создать разные адреса и порты для каждой комнаты (или того, что вы называете сервером)
Это может работать, например, как шаблон издатель / подписчик.На одном сервере и на одном адресе создайте канал, который пользователи (в одиночном или групповом разговоре) смогут прослушивать.Затем, если пользователь публикует сообщение на этом канале, вы можете отправить его всем подписчикам.
Также существуют различные способы обработки сообщений: например, сначала вставить их в базу данных, а затем опубликовать в каналах.Но, как указал @Khang, нужен брокер.Ваш брокер может самостоятельно обрабатывать сохранение сообщений или просто отправлять сообщения с одного сервера на другой.( Натс , например)
Другое дело, если вы хотите увеличить его, ваши сообщения должны иметь возможность проходить через вашу распределенную сеть, как в ситуациях, когда абонент канала подключен кдругой сервер;какой по-прежнему брокер, которого вы выбираете, может вам в этом помочь.
Но возвращаясь к плюсам и минусам, оба решения, о которых вы говорили, могут привести к тому, что вы откроете слишком много портов на слишком многих адресах (если я правильно понимаю)что, кажется, не в порядке, потому что вы можете исчерпать их, в то время как один порт может обрабатывать все, что вам нужноТакже в настоящее время я понятия не имею, как вы собираетесь это реализовать.И это может на самом деле не делать ничего быстрее, чем другие архитектуры.