在创建WebRTC PeerConnection时,我可以跳过ICE(STUN/TURN)发现过程吗?

mar*_*ark 8 webrtc

在我的设置中,我在云中处理音频和视频的自定义服务器,所以我不需要(也不要)整个"我在哪里以及我的私人和公共地址等等".发现过程.基本上我想要SDP提供,而不关心IP地址/端口; 该提议进入服务器,服务器选择编解码器并获取SRTP密钥,并回复浏览器的SDP应答,其中包含公共地址,编解码器选择及其密钥.理想情况下,浏览器开始向服务器发送媒体,服务器只是将"对等"媒体发送回来(它将通过任何UDP友好的NAT设备进行隧道传输).

我知道这在技术上是可行的,因为我已经使用Win32/OSX桌面客户端做到这一点......问题是,这可能与WebRTC和RTCPeerConnection?我已经尝试了一些配置类型,例如{},{ "iceServers": [] }但它似乎仍然通过发现回转.是否有其他方法可以简化流程?谢谢!

nak*_*kib 7

不,您不能跳过这个过程,因为WebRTC实现强制使用ICE和STUN检查来修复一些安全问题.因此,当前的Chrome实施将强制对ICE候选中协商的IP /端口进行STUN检查.

但是,有许多应用程序在没有此要求的情况下工作.有一天,我们必须改变更好,更安全的实施.现在是......

  • 这是不正确的。如果您不提供 STUN(或 TURN)服务器,则根本不会进行 STUN 检查。然而,ICE 仍然会发生,并将收集和使用东道主(本地)候选人。 (2认同)