我正在编写一个 RTP 中继,但遇到了一个问题。
基于libnice threaded example我编写了软件部分 使用 STUN 连接到在 chrome 中运行的 javascript。
基本上这就是我的软件方面发生的事情:
等待状态 READY 或 FAILED 信号... 信号:状态改变 1 1 已连接[3] 状态现在已连接 信号:状态改变 1 1 就绪 [4] 状态现在准备就绪
cleary libnice 正在触发我的回调,说明连接是 牢固树立
wireshark 正在显示绑定(bind)指示包
但是那是个绊脚石
这是 webrtc 内部来自 chrome 的日志:
Time Event
29/10/2018, 19:59:11 setRemoteDescription
29/10/2018, 19:59:11 signalingstatechange
29/10/2018, 19:59:11 receiverAdded
29/10/2018, 19:59:11 setRemoteDescriptionOnSuccess
29/10/2018, 19:59:11 createAnswer
29/10/2018, 19:59:11 createAnswerOnSuccess
29/10/2018, 19:59:11 setLocalDescription
29/10/2018, 19:59:11 iceconnectionstatechange
29/10/2018, 19:59:11 signalingstatechange
29/10/2018, 19:59:11 setLocalDescriptionOnSuccess
29/10/2018, 19:59:11 icegatheringstatechange
29/10/2018, 19:59:11 icecandidate (host)
29/10/2018, 19:59:11 icegatheringstatechange
永远不会触发具有牢固连接的 iceconnectionstatechange。 这意味着 chrome 之后从未检测到已建立的连接 最后一滴,而我的程序。
在 chrome 中触发的最后一个 iceconnectionstatechange 是“正在检查”
我该如何调试它???
非常感谢任何帮助
谢谢
/帕特里克
最佳答案
您可能需要 stun consent它使用绑定(bind)请求/响应而不是绑定(bind)指示。还可以尝试通过向 SDP 添加 a=ice-lite 来将您的对等体声明为精简版实现。
关于c - STUN 连接未完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53089180/