WebRTC Собственный на 127.0.0.1, нет исходящего потока мультимедиа - PullRequest
0 голосов
/ 14 мая 2019

У меня есть следующий сценарий:

  • два участника webrtc, работающие на одной и той же машине с тем же IP-адресом
  • Узел A делает предложение узлу B
  • Узел Bделает Ответ одноранговому узлу A
  • Для обоих одноранговых узлов настроена маска newtork, чтобы разрешить только обратные петли
  • Для обоих одноранговых устройств отключено шифрование (PeerConnectionFactory.Options.disableEncryption)

Peer B реализован мной без использования нативного WebRTC.Платформа WebRTC однорангового узла A распознает ответ однорангового узла B и отображает в журналах следующую информацию:

V/p2p_transport_channel.cc: (line 1732): Sorting 1 available connections
    (line 1735): Conn[48117e00:0:Net[lo:127.0.0.x/8:Loopback:id=1]:D02Ge5rc:1:0:local:udp:127.0.0.x:52503->RriWKCXk:1:2122194687:prflx:udp:127.0.0.x:34007|CR-W|-|0|0|9114193830700924414|-]

Таким образом, кажется, что соединение установлено успешно.передача мультимедиа с узла B на узел A. работает нормально.

Однако узел B не получает пакеты udp от узла A. Я прослушиваю сокет и даже не получаю запросы на привязку Stun.,Обычно я вижу, что пакеты отправляются от узла A также в журналах узла A, однако пакеты не отправляются узлом A.

Что странно, когда я удаляю сетевую маску, узел B получает пакеты.Однако они отправляются с интерфейса Wi-Fi Peer A, а не интерфейса обратной связи.

Поэтому я подозреваю, что WebRTC не отправляет пакеты, если удаленный кандидат является адресом обратной связи (127.0.0.1)?Я читал в некоторых местах, что dtls вызывает проблемы с адресами обратной связи, однако, поскольку я отключил шифрование, это не должно быть проблемой ...

sdp для ответа кандидата выглядит следующим образом

a=candidate:1510613869 1 udp 2122063615 127.0.0.1 34007 typ host generation 0 network-id 1
...