Как проверить, если пэры webrtc общались в режиме p2p или в режиме реле - PullRequest
0 голосов
/ 03 ноября 2018

Скажи:

  1. A и B в одном и том же Lan,
  2. А и Б в разных лан.

но подключиться по логике webrtc, как я могу проверить, действительно ли он передается через p2p или через сервер ретрансляции (сервер поворота)? Я вижу, как несколько ледяных кандидатов обмениваются друг с другом, но не уверен, какой из них используется на самом деле!

Для случая 1) Я думаю, что A и B должны использовать локальное соединение Lan для общения друг с другом, но как я могу это подтвердить!

Для случая 2) возможно, используется соединение p2p или сервер ретрансляции для ретрансляции мультимедиа. Как узнать, какое именно соединение используется?

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

вызовите API peerconnection.getStats (), как только соединение ICE будет установлено (т. Е. При переходе iceconnections на подключенный или завершенный). Затем выполните итерацию статистики, чтобы найти активное в данный момент соединение, найдите указатели на локального и удаленного кандидата и посмотрите на их полеещающий тип.

Образец в https://webrtc.github.io/samples/src/content/peerconnection/constraints/ показывает большую часть этого, но не показывает кандидатТип, только ip и порт.

0 голосов
/ 03 ноября 2018

Возможно ниже метод не очень хороший ответ, но он должен работать:

  1. Если A и B в одной и той же локальной сети после завершения соединения отключают интернет-соединение, но оставляют Lan с A и B, если A и B могут успешно общаться, то он должен быть передан Lan, так как интернет уже отключен.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...