javascript - 是什么触发 webRTC API 连接到 stun 服务器

标签 javascript webrtc

不知道这个例子对不对
过程,调用new RTCPeerConnection()然后调用createOffer()然后调用setLocalDescription()
然后我等待 onicecandidate 获取它提供的内容,首先发送 offer,然后通过 signal server 发送 icecandidates给另一个同行

然后另一个节点将接收到的offer放入setRemoteDescription(offer),然后将接收到的icecandidates放入addIceCandidate(icecandidates) 然后调用 createAnswer() 这会给出一个 answer 放入 setLocalDescription(answer) 这会触发 onicecandidate将这些 icecandidatesanswer=offer 一起发送给其他同行

另一个节点将 answer 放入 setRemoteDescription(answer) 然后将接收到的 icecandidates 放入 addIceCandidate(icecandidates)

我认为在这个例子中,连接在本地网络内部测试时可以工作,但如果因为它不是本地网络而不能工作怎么办,在这个例子中,API 将在哪个步骤调用 STUN 服务器,我还需要执行哪些其他功能调用STUN服务器还需要调用吗?

最佳答案

我发现生成 BIND 请求并立即发送到 STUN 服务器的一种方法是将配置中的 iceCandidatePoolSize 选项设置为 > 0。

config = {iceServers: [{urls:stun:stunserver.stunprotocol.org}], iceCandidatePoolSize: 1};
peerConnection = new RTCPeerConnection(config); // pretty much starts to resolve the DNS name and sends BIND requests right away.

希望这对您有所帮助。

还有:this link充满了解决 webrtc 连接问题的好建议。

关于javascript - 是什么触发 webRTC API 连接到 stun 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56062360/

相关文章:

javascript - Rails Button_tag 与 Button_to - 类和 id

javascript - 如何检测元素是否具有::after(伪元素)?

javascript - 如何使用es6语法导入sip.js库

python - 音频信号在字级边界处分离

javascript - 由于错误 c004e005,无法完成操作

ios - WebRTC 在 iOS Safari 上的 Angular 5 中不起作用

javascript - 使用io hook来移动puppteer的鼠标

javascript - aurelia:自定义组件中未打印变量

javascript - MongoDB:如何在 100 个集合中找到 10 个随机文档?

linux - 无法为 Android 编译 WebRTC 库