我正在努力了解更多关于webRTC的信息,所以:
- 我的猜测是,当从localhost运行应用程序并建立peer与我的连接(没有防火墙、vpns或对称nat涉及(,WebRTC将使用127.0.0.1地址进行本地连接
- 现在,如果我从网上运行我的应用程序,我的另一个猜测是webRTC将使用我的公共ip地址最终尝试连接到我的同一个公共ip地址
所以我的问题是,当从localhost连接时,我很确定WebRTC peerConnection不会通过互联网连接到我自己,这与第二种情况相同吗?
WebRTC是否通过互联网取决于创建对等时在ICE服务器列表中传递的内容。如果您没有通过任何ICE服务器(STUN或TURN(,那么WebRTC只收集本地ICE候选服务器(即来自localhost(。如果您传递了至少一个STUN或TURN服务器url,则WebRTC会尝试使用该服务器收集ICE候选人。但是,即使您提供了非空的ICE服务器列表,如果两个对等方都可以使用本地候选者(当然,如果您没有禁用收集本地ICE候选者(来联系对方,那么WebRTC很可能会将它们选为最佳候选者对,因为它们具有较低的"可用性";网络成本;比从本地主机外部收集的候选者更适合发送媒体。