2015-08-21 3 views
1

Я работаю над проектом, который должен позволить пользователям подключаться друг к другу (1 на 1) и общаться через веб-сайт. Если я пойду с реализацией http://peerjs.com/ или другим настраиваемым решением для однорангового соединения WebRTC, мне нужен сервер для работы с этими соединениями? Если да, то в чем его цель? Я думал, что все точки однорангового соединения WebRTC состоят в том, чтобы разрешать прямые подключения пользователя к пользователю.Требуется ли одноранговое соединение PeerJS или WebRTC с сервером или только между клиентами?

ответ

1

Я думал, что вся точка соединения с одноранговым соединением WebRTC должна позволять прямое подключение пользователя к пользователю с помощью .

Прямой пользователь для подключения к пользователю означает соединение P2P, когда два пользователя обмениваются данными напрямую без какого-либо сервера ретрансляции посередине. Но для этого им нужно сначала подключиться друг к другу. И для этого им нужны друг другу IP-адреса и другая соответствующая информация.

Два устройства в Интернете не могут знать друг друга, если только они не обмениваются этими данными между ними. Вот почему используется сервер Signaling, такой как SIP, XMPP. Одноранговые пользователи регистрируются на этих серверах для обмена данными IP. Когда Peer A и Peer B регистрируются в SIP-сервере, тогда, когда peer A хочет связываться со сверстником b,

1) A отправит свою IP-информацию на сервер sip. Sip сервер будет пересылать эту информацию в B.

2) После получения информации пэра B направит свои IP-адреса сервера SIP и SIP-сервер будет пересылать его Peer A.

3) После того, как они оба знают, каждой другой информации IP они могут затем соединяться друг с другом напрямую без использования сервера SIP снова.

Это то, что P2P-соединение. Он использует сервер сигнализации только для создания соединения между одноранговыми узлами после этого своего P2P-соединения.

Но соединение P2P не всегда возможно даже после того, как вы узнали всю информацию Ip каждого из сверстников. Есть NATs, что делает невозможным создание P2P-соединения. Но это еще одна тема.

Надеюсь, что это очистит ваше замешательство.

+0

Несет. Благодаря! – DecafJava

1

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

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

Сигнальная часть процесса WebRTC очень легкая по сравнению со средой, отправленной по одноранговому соединению. Из-за простоты использования сервера для сигнализации серверы часто используются для сигнализации.