我目前正在公司防火墙后面的 Chrome 上使用 WebRTC,使用 Google 的演示应用程序:https://apprtc.appspot.com 。是否有任何可靠的方法来确定与我公司防火墙之外的另一个应用程序用户建立的连接是通过 UDP 还是通过 Google 的 STUN/TURN 服务器进行流 TCP? chrome://webrtc-internals 提供了很多统计数据,但对我来说没有什么明显的。或者我可以在 session 期间进行 API 调用来确定传输类型吗?谢谢
==========更新==============
仅供引用,this提供更多信息 - 使用演示应用程序时按“i”将显示是否使用 TURN 服务器(但如果使用 tcp/udp 则不会显示)。
最佳答案
Wireshark 可以很好地实现这一点。在 Firefox 上,您可以转到 about:webrtc,单击对等连接,然后查看选择了 ICE 中的哪些候选(以及它们是 TCP 还是 UDP 等)。
[编辑-添加] 通过编程方式,您可以使用统计报告查看候选人的类型,例如 this example和 this PR并使用 type 属性。您可能需要解析 SDP 才能从 Firefox 中的候选者那里获取优先级。 (感谢 Fippo 指出了这一点)。
关于sockets - Chrome 上的 WebRTC;我如何知道它使用的是 UDP 还是 TCP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31419789/