Node.js iceConnectionState:“;核对;如何修复

Node.js iceConnectionState:“;核对;如何修复,node.js,webrtc,videochat,Node.js,Webrtc,Videochat,我使用nodejs进行视频通话应用,如果用户A和用户B位于不同的网络中,则:- iceConnectionState:“正在检查” iceGatheringState:“正在收集” 流媒体不是来自远程用户,而是在同一网络/wifi中工作 iceConnectionState:“正在检查” iceGatheringState:“正在收集” ice连接状态:“已完成”您是否设置了ice服务器,尤其是turn服务器(或至少是stun服务器)?您必须向传递一个配置对象,其中包含字段iceServers:

我使用nodejs进行视频通话应用,如果用户A和用户B位于不同的网络中,则:- iceConnectionState:“正在检查” iceGatheringState:“正在收集”

流媒体不是来自远程用户,而是在同一网络/wifi中工作

iceConnectionState:“正在检查” iceGatheringState:“正在收集”


ice连接状态:“已完成”

您是否设置了ice服务器,尤其是turn服务器(或至少是stun服务器)?您必须向传递一个配置对象,其中包含字段
iceServers:[{url:'stun:some.stun.server.address},…]
,因为我觉得ice收集过程会检查生成的候选地址:

  • 它检查本地地址(如127.0.0.1),但由于它不在同一台计算机上运行,因此失败
  • 它会检查操作系统IP(比如192.168.178.13),如果两台计算机在同一个网络中,但在不同的网络上,那么这些本地IP不会有帮助
  • 它发出一个STUN请求,询问外部服务器,这个请求来自哪个IP。地址是不同的,因为NAT做它的工作。然后,它将尝试连接到这个自反地址。对于许多NAT来说,这仍然不起作用,因为没有先前到IP的传出连接的传入请求将被禁止
  • 它发出转向请求,并通过中继服务器路由整个对话。这几乎在任何情况下都应该有效

  • 如果未在配置中设置STUN和TURN服务器,则不会尝试步骤3和for,因为STUN服务器将没有自反地址,也没有TURN服务器中继地址。因此,冰收集可能在步骤2结束(并完成),但不会有连接,因为1。二,。将在不同的网络上失败

    您是否设置了ice服务器,尤其是turn服务器(或至少是stun服务器)?您必须向传递一个配置对象,其中包含字段
    iceServers:[{url:'stun:some.stun.server.address},…]
    ,因为我觉得ice收集过程会检查生成的候选地址:

  • 它检查本地地址(如127.0.0.1),但由于它不在同一台计算机上运行,因此失败
  • 它会检查操作系统IP(比如192.168.178.13),如果两台计算机在同一个网络中,但在不同的网络上,那么这些本地IP不会有帮助
  • 它发出一个STUN请求,询问外部服务器,这个请求来自哪个IP。地址是不同的,因为NAT做它的工作。然后,它将尝试连接到这个自反地址。对于许多NAT来说,这仍然不起作用,因为没有先前到IP的传出连接的传入请求将被禁止
  • 它发出转向请求,并通过中继服务器路由整个对话。这几乎在任何情况下都应该有效

  • 如果未在配置中设置STUN和TURN服务器,则不会尝试步骤3和for,因为STUN服务器将没有自反地址,也没有TURN服务器中继地址。因此,冰收集可能在步骤2结束(并完成),但不会有连接,因为1。二,。将在不同的网络上失败

    我正在使用STUN and TURN服务器。但是,无法获取远程流。iceServers=[{'URL':['turn:webrtcweb.com:7788','stun:webrtcweb.com:7788',],'username':'muazkh','credential':'muazkh'}]@NitishKumar好吧,这会让事情变得更复杂。您对列出的服务器工作有多大信心?当列出的域对ping做出反应时,我对具有堆栈溢出的turn服务器进行了测试,它说turn服务器不工作(可能是配置问题?)。使用公共stun服务器stun.l.google.com:19302或其中任何一个尝试配置。现在我使用自己的configure COTURN(测试:-)服务器和google的stun服务器。然而我在同一个舞台上。比如:-connectionState:“正在连接”和iceConnectionState:“正在检查”我是否进入控制台。请帮我弄清楚。我做错事的地方好吧,这很奇怪,我确信这是因为缺少反射(晕眩)和中继(转向)地址。在将收到的ice候选项添加到对等连接之前(在调用RtcpeerConnection.addIceCandidate之前),是否可以尝试记录这些候选项?检查是否确实收到中继和主机类型的候选。您可以根据它们的候选值来识别它们,该字符串将包含“typ srflx”和“typ relay”部分。在测试时,服务器依次出现错误:-transport=tcp返回一个错误,代码为701:。我曾设置此链接:-我正在使用眩晕和翻转服务器。但是,无法获取远程流。iceServers=[{'URL':['turn:webrtcweb.com:7788','stun:webrtcweb.com:7788',],'username':'muazkh','credential':'muazkh'}]@NitishKumar好吧,这会让事情变得更复杂。您对列出的服务器工作有多大信心?当列出的域对ping做出反应时,我对具有堆栈溢出的turn服务器进行了测试,它说turn服务器不工作(可能是配置问题?)。使用公共stun服务器stun.l.google.com:19302或其中任何一个尝试配置。现在我使用自己的configure COTURN(测试:-)服务器和google的stun服务器。然而我在同一个舞台上。比如:-connectionState:“正在连接”和iceConnectionState:“正在检查”我是否进入控制台。请帮我弄清楚。我做错事的地方好吧,这很奇怪,我确信这是因为缺少反射(晕眩)和中继(转向)地址。你能试着记录收到的冰罐吗