программа чата как распределенная

#java

#java

Вопрос:

у меня есть программа чата (как централизованная), состоящая из двух частей, первая часть — сервер, а вторая часть — клиент. если один клиент хочет участвовать в чате, сначала он должен подключиться к серверу, если клиенту нужно отправить сообщение, он отправит сообщение на сервер, затем сервер передаст сообщение всем клиентам, которые были подключены к нему. это была система чата как централизованная

Я хочу создать систему чата как распределенную с использованием java RMI. как я могу это сделать? могу ли я разрешить клиенту напрямую подключаться к другим клиентам? я хочу увидеть ваше предложение? Спасибо

Комментарии:

1. Как вы планируете решать NATs?

2. @m7m: NAT как при преобразовании сетевого адреса

3. @m7m, если оба ваших пользователя находятся за NAT (как большинство из них), то ваши коллеги не смогут подключиться друг к другу, не попросив ваших пользователей проделать дыры в их брандмауэре.

4. Кирк Волл, вы имеете в виду, что я не могу разрешить каждому клиенту подключаться ко всем другим клиентам?

5. @m7m, правильно, не без того, что они открыли порты в своем брандмауэре, а-ля клиенты bittorrent.