【发布时间】:2019-10-15 18:12:58
【问题描述】:
我正在将 nodejs 用于视频通话应用程序,如果用户 A 和用户 B 在不同的网络中,那么:- 冰连接状态:“检查” iceGatheringState: "聚会"
并且流式传输不是来自远程用户,但是当两者都在同一个网络/wifi中时它可以工作
iceConnectionState: "检查" iceGatheringState: "聚会"
iceConnectionState:“完成”
【问题讨论】:
我正在将 nodejs 用于视频通话应用程序,如果用户 A 和用户 B 在不同的网络中,那么:- 冰连接状态:“检查” iceGatheringState: "聚会"
并且流式传输不是来自远程用户,但是当两者都在同一个网络/wifi中时它可以工作
iceConnectionState: "检查" iceGatheringState: "聚会"
iceConnectionState:“完成”
【问题讨论】:
你是否设置了冰服务器,尤其是转弯服务器(或至少是眩晕服务器)?您必须将配置对象传递给RTCPeerConnection-Constructor,其中包含字段iceServers: [{urls: 'stun:some.stun.server.address},...] 因为在我看来,冰收集过程会检查生成的候选地址:
如果您没有在配置中设置 STUN 和 TURN 服务器,则不会尝试第 3 步和 for,因为不会有来自 stun 服务器的反射地址,也没有转向服务器中继地址。因此,冰收集可能会在第 2 步结束(并完成)但不会有任何连接,因为 1. 和 2. 在不同的网络上会失败
【讨论】: