【发布时间】:2017-02-06 14:59:15
【问题描述】:
我尝试基于 webrtc 构建 Android 版本的 IOS 应用程序。我使用 STUN 服务器(不是 TURN,IOS 应用只使用 STUN 服务器),而 android 应用在不同的网络上无法运行(但 IOS 运行良好)。
RTC 配置:
rtcConfig.tcpCandidatePolicy = PeerConnection.TcpCandidatePolicy.DISABLED;
rtcConfig.bundlePolicy = PeerConnection.BundlePolicy.MAXCOMPAT;
rtcConfig.rtcpMuxPolicy = PeerConnection.RtcpMuxPolicy.REQUIRE;
rtcConfig.iceTransportsType = PeerConnection.IceTransportsType.ALL;
rtcConfig.continualGatheringPolicy = PeerConnection.ContinualGatheringPolicy.GATHER_CONTINUALLY;
rtcConfig.keyType = PeerConnection.KeyType.ECDSA;
PS:我尝试了许多不同的 STUN 服务器(例如:stun:stun.l.google.com:19302),但没有一个可以工作。
UPD:
ICE SAMPLE of STUN(ice 连接失败):
{"sdp":"candidate:1911153948 1 udp 2122260223 192.168.15.33 54469 typ host generation 0 ufrag Ucsk network-id 3 network-cost 10","sdpMLineIndex":0,"sdpMid":"audio"}
{"sdp":"candidate:4037141416 1 udp 1686052607 217.112.221.86 33341 typ srflx raddr 192.168.15.33 rport 54469 generation 0 ufrag Ucsk network-id 3 network-cost 10","sdpMLineIndex":0,"sdpMid":"audio"}
ICE SAMPLE的工作回合:
{"sdp":"candidate:1911153948 1 udp 2122260223 192.168.15.33 53080 typ host generation 0 ufrag u6i0 network-id 3 network-cost 10","sdpMLineIndex":0,"sdpMid":"audio"}
{"sdp":"candidate:4037141416 1 udp 1686052607 217.112.221.86 47737 typ srflx raddr 192.168.15.33 rport 53080 generation 0 ufrag u6i0 network-id 3 network-cost 10","sdpMLineIndex":0,"sdpMid":"audio"}
{"sdp":"candidate:3433799847 1 udp 41885439 66.228.45.110 56124 typ relay raddr 217.112.221.86 rport 47737 generation 0 ufrag u6i0 network-id 3 network-cost 10","sdpMLineIndex":0,"sdpMid":"audio"}
另外,在日志中,我在 15 秒 ping 后出现连接超时错误:
I/libjingle: (port.cc:1413): Jingle:Conn[0xafe1c200:audio:ymVmyEYx:1:0:local:udp:192.168.15.x:59152->p7NE+tsC:1:1686052607:stun:udp:46.133.252.x:62179|C--I|0|0|7241540810645061118|-]: Sent STUN ping, id=597771634a2b427864497448, use_candidate=0, nomination=0
I/libjingle: (port.cc:1413): Jingle:Conn[0xafe1bd00:audio:ymVmyEYx:1:0:local:udp:192.168.15.x:59152->+xyFpztR:1:2122260223:local:udp:100.73.133.x:43879|C--I|0|0|9115038255631187454|-]: Sent STUN ping, id=345231714b49377a66633056, use_candidate=0, nomination=0
【问题讨论】:
-
“不工作”可能意味着一百种不同的东西。请清楚究竟是什么不工作,如果有的话,提供日志。有关您正在使用的 stun 服务器和您创建的 android 应用程序的更多信息。这些不清楚的问题永远无法解决您的疑问,请帮助我们为您提供帮助。
-
我添加了更多信息,@UtsavShrestha
-
不清楚你为什么认为这是一个 STUN 问题。
-
第一个想法是我的网络的 NAT 问题,但是 IOS 应用程序如何工作?我不知道去哪里以及寻找什么@mattm
-
@Garret 不同网络还是同一个网络?因为如果他们在不同的网络后面,如果一个需要 TURN 服务器而另一个不需要,这是完全可以理解的。