【发布时间】:2021-01-07 22:54:27
【问题描述】:
我正在使用 react-native-webrtc 来处理其中的 WebRTC 部分。 我正在使用 Websockets 发出信号并使用 ICE 滴流来跟踪 ICE 候选者。
我将我的 ICE 候选者排队,直到在被调用方调用 setLocalDescription。然后我为队列中的每个候选人添加IceCandidate。
在调用方我正在做同样的事情,并且在调用 setRemoteDescription 之前不处理我的 ICE 候选人。
我只做音频,所以没有使用视频。
当我在同一网络上使用两台移动设备进行测试时,我没有遇到任何问题。
但是,如果我断开一台设备与 WiFi 的连接,通话仍然可以正常连接,只是在任一设备上都听不到音频。
onConnectionStateChange 处理程序仍将返回“已连接”,而 onIceGatheringStateChanged 仍将返回“完成”。
我想也许我需要使用 TURN 服务器来完成这项工作,所以我开始使用 Twilio 的付费 TURN/STUN 服务器,但问题仍然存在。
有什么想法吗?
【问题讨论】:
标签: node.js react-native websocket webrtc turn