приложение чата, одноранговое общение - PullRequest
0 голосов
/ 10 февраля 2020

Я нахожусь в процессе разработки приложения для чата с использованием Javascript. При отправке сообщений от одного клиента другому клиенту, должен ли я отправлять его через сервер или я могу отправить его напрямую, используя одноранговый подход, используя что-то вроде веб-сокетов?

Ответы [ 2 ]

0 голосов
/ 10 февраля 2020

Добро пожаловать на этап жизни, где вы видите важность шаблонов проектирования.

Вы можете начать решение с шаблоном-посредником и шаблоном прокси-сервера с веб-сокетами.
Когда вам нужен сервер или нет к вашему дизайну.
С технологической точки зрения существует множество API, которые HTML5 предлагает вам через них go и делать что-то самостоятельно. Существует множество API-интерфейсов, доступных с HTML5 и JS. Начните копать в WebSockets, Отправленные сервером события, Web Workers.

Сервер предоставит вам гибкость ведения учета, выступая в качестве посредника. В качестве альтернативы вы можете придумать чистый p2p-дизайн со схемой, в которой каждый узел или пользователь уведомляет других пользователей со своими данными (IP) для установления связи. Помните, чтобы веб-сокет работал, клиент должен знать, к какому адресу подключаться. Возможно это может иметь фиксированные главные узлы. Затем вы можете использовать наблюдаемые для опроса и других функций. Взгляните на протокол BitTorrent для вдохновения дизайна.

Проявите творческий подход и начните проектировать.

0 голосов
/ 10 февраля 2020

Есть много способов сделать это. Рекомендую схему:

Peer <---> custom websocket server <---> Peer;

Рекомендую NodeJS с SocketIO .

...