【问题标题】:iceConnectionState: "checking" How to fixiceConnectionState:“检查”如何解决
【发布时间】:2019-10-15 18:12:58
【问题描述】:

我正在将 nodejs 用于视频通话应用程序,如果用户 A 和用户 B 在不同的网络中,那么:- 冰连接状态:“检查” iceGatheringState: "聚会"

并且流式传输不是来自远程用户,但是当两者都在同一个网络/wifi中时它可以工作

iceConnectionState: "检查" iceGatheringState: "聚会"

iceConnectionState:“完成”

【问题讨论】:

    标签: node.js webrtc videochat


    【解决方案1】:

    你是否设置了冰服务器,尤其是转弯服务器(或至少是眩晕服务器)?您必须将配置对象传递给RTCPeerConnection-Constructor,其中包含字段iceServers: [{urls: 'stun:some.stun.server.address},...] 因为在我看来,冰收集过程会检查生成的候选地址:

    1. 它检查本地地址(如 127.0.0.1),但由于它不在同一台计算机上运行,​​因此失败。
    2. 它会检查操作系统 IP(例如 192.168.178.13),如果两台计算机在同一个网络中,但在不同的网络上,这些本地 IP 没有帮助...
    3. 它发出一个 STUN 请求,询问外部服务器,这个请求来自哪个 IP。地址是不同的,因为 NAT 完成了它的工作。然后它会尝试连接这个反身地址。对于许多 NAT,这仍然不起作用,因为没有先前与 IP 的传出连接的传入请求将被禁止
    4. 它发出一个 TURN 请求,并通过中继服务器路由整个对话。这几乎适用于任何情况

    如果您没有在配置中设置 STUN 和 TURN 服务器,则不会尝试第 3 步和 for,因为不会有来自 stun 服务器的反射地址,也没有转向服务器中继地址。因此,冰收集可能会在第 2 步结束(并完成)但不会有任何连接,因为 1. 和 2. 在不同的网络上会失败

    【讨论】:

    • 我正在使用 STUN 和 TURN 服务器。但是无法获得远程流。 iceServers = [{ 'urls': ['turn:webrtcweb.com:7788', 'stun:webrtcweb.com:7788', ], 'username': 'muazkh', 'credential': 'muazkh' }];
    • @NitishKumar 好的,这让事情变得更复杂了。您对列出的服务器工作有多大信心?虽然列出的域对 ping 有反应,但我使用 this snippet on stack overflow 和 this webrtc ice test 对转向服务器进行了测试,它说转向服务器不起作用(可能是配置问题?)。使用公共 stun 服务器 stun.l.google.com:19302 或 these 中的任何一个尝试您的配置。
    • 现在我正在使用自己的配置 COTURN(tested :- webrtc.github.io/samples/src/content/peerconnection/trickle-ice) 服务器和 google 的 stun 服务器。但是我在同一个阶段。像:-connectionState:“正在连接”和 iceConnectionState:“检查”我正在控制台中。请帮我弄清楚。我在哪里做错了
    • 好吧,这很奇怪,我确信这类似于缺少反射 (STUN) 和中继 (TURN) 地址。您可以尝试在将接收到的候选冰添加到您的对等连接之前(就在您调用 yourRTCPeerConnection.addIceCandidate 之前)记录它们吗?检查您是否真的收到中继和主机类型的候选人。您可以根据它们的候选值来识别它们,这是一个包含“typ srflx”和“typ relay”部分的字符串。
    • 在测试时我又收到错误 server:- transport=tcp 返回了一个错误,code=701: 。我曾经设置此链接:-netways.de/blog/2017/08/16/…
    猜你喜欢
    • 2016-01-09
    • 2011-11-13
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    • 2022-12-07
    相关资源
    最近更新 更多