我有以下情况:
对等B是我自己实现的,没有使用WebRTC本机。 Peer A的WebRTC框架可以识别Peer 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没有从对等A获得任何udp数据包。我在套接字上侦听,甚至没有收到Stun绑定请求。通常我会在Peer A日志中看到从Peer A发送的软件包,但是Peer A没有发送任何软件包。
奇怪的是,当我删除网络掩码时,对等B收到软件包。但是,它们是从对等A的wifi接口而非环回接口发送的。
这就是为什么我怀疑如果远程候选者是回送地址(127.0.0.1),WebRTC不会发送软件包吗?我在某些地方看到dtls导致回送地址出现问题,但是当我禁用加密时,这应该不是问题...
答案候选者的标准答案如下所示
a=candidate:1510613869 1 udp 2122063615 127.0.0.1 34007 typ host generation 0 network-id 1