【发布时间】:2017-05-08 23:09:48
【问题描述】:
我正在使用 twilio 免费帐户并生成 twilio turn 服务器和凭据。使用这些作为 ICEServerOptions,我得到了只有 UDP 连接的候选人,但我需要一个 TCP 连接才能使用 webRTC 进行可靠的数据传输。
有没有办法从 twilio stun/turn 服务器获取 TCP 中继/srflx 连接? 如果是,请告诉我怎么做?
谢谢 乔丹
【问题讨论】:
-
我刚刚生成了一个 NAT Access Token 并有两个 TCP 候选对象。你能分享你用来生成它的代码吗?
-
我的命令:Maheshs-MacBook-Air:~ maheshjena$ curl -XPOST api.twilio.com/2010-04-01/Accounts/… \ > -u "AC5ebd66f6153d2bbb8bb8f8b794c95765:[MY_AUTH_TOKEN_*****]"
-
在这个命令之后,我得到了我的轮到服务器链接、用户名和凭据。当我将它用作 ICE 服务器选项并获取候选者时,没有 srflx 或中继的 TCP 候选者,我只能找到 UDP 候选者。
-
UDP 是 WebRTC 的首选传输方式。如果您只需要 TCP 候选,那么您可能需要调整 iceServers 响应以删除 UDP 选项。
-
实际上我最初的问题是,twilio ice 服务器没有为 srflx 和中继选项提供任何 TCP 候选。正如你所说,我得到了 2 个 TCP 候选者,但它们用于主机而不是用于 srflx 或中继。我还尝试删除所有 UDP 候选者并在提供和回答中使用这 2 个 tcp 主机候选者,但 SetRemoteDescription() 对这些候选者失败。我知道要支持 TCP 中继连接,TURN 服务器需要在其中支持端口 80 和 443。有没有办法从 twilio 服务器获取 srflx/relay 连接的 TCP 候选?
标签: tcp webrtc twilio nat turn