创建PeerConnection异常:无法构造'RTCPeerConnection':格式错误的RTCIceServer

时间:2018-07-30 16:48:02

标签: node.js webrtc apprtc rfc5766turnserver

我正在使用appRTC to make演示应用程序。我已经成功设置了以下内容,但是得到了带有JSON格式的堆栈,这些堆栈会在Turn-server API的响应中返回。

  • 使用SSL进行安全连接以使其在Google Chrome浏览器上运行(完成)
  • 实施自定义WebSocket(完成)
  • 为TurnServer开发自定义API(完成)

我在控制台日志中遇到以下错误。

  

创建PeerConnection异常:无法构造'RTCPeerConnection':格式错误的RTCIceServer

     

无法开始发送信号:无法读取null的属性“ addStream”

我尝试按照以下响应作为冰服务器对象

当前对象:

{"iceServers":[{"urls":["stun:stun.l.google.com:19302"]},{"urls":["turn:domain.com:8080?transport=udp","turn:domain.com:8080?transport=tcp","turn:domain.com:8080"],"username":"test","credential":"password"}],"lifetimeDuration":"86400s","blockStatus":"NOT_BLOCKED","iceTransportPolicy":"all"}

也尝试过:

[{"urls":["stun:stun.l.google.com:19302"]},{"urls":["turn:domain.com:8080?transport=udp","turn:domain.com:8080?transport=tcp","turn:domain.com:8080"],"username":"test","credential":"password"}]

并尝试了这个:

[{"urls":["turn:domain.com:8080?transport=udp","turn:domain.com:8080?transport=tcp","turn:domain.com:8080"],"username":"test","credential":"password"}]

1 个答案:

答案 0 :(得分:1)

您在这里有错字: [{"urls":["stun:stun.l.google.com:19302"} 尝试关闭网址而不关闭数组。 这应该是 [{"urls":["stun:stun.l.google.com:19302"]} 不过,这不会导致有关格式错误的RTCIceServer的错误。

根据您的评论,这似乎是致电的结果 new RTCPeerConnection({"iceServers":[{}]}) -空对象不是有效的RTCIceServer。

我也建议不要通过 "lifetimeDuration":"86400s","blockStatus":"NOT_BLOCKED" 到RTCPeerConnection,因为它不知道这些。