WebRTC Собственный на 127.0.0.1, нет исходящего потока мультимедиа
У меня есть следующий сценарий:
- два участника webrtc, работающие на одной машине с одинаковым IP
- Peer A делает предложение Peer 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|-]
Похоже, соединение установлено успешно. Медиа, отправляемая из Peer B в Peer A, работает нормально.
Однако Peer B не получает пакетов udp от Peer A. Я слушаю сокет и даже не получаю запросы на привязку Stun. Обычно я вижу пакеты, отправляемые с узла A также в журналах узла A, однако пакеты не отправляются узлом A.
Странно то, что когда я удаляю маску сети, Peer 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