webrtc - 我们如何让 WebRTC 与 VPN 一起工作(已尝试 TURN 解决方案)
问题描述
我们的 WebRTC 应用程序可以在任何环境中运行,直到一个用户打开 VPN。
我们得到的错误是一个失败的 ICE 候选。
我们已经尝试利用 TURN 和 STUN,无论是公共的还是私有的,但仍然没有成功。
有任何想法吗?
解决方案
您的 TURN 服务器是否可通过 TCP 访问?在您的 ICE 服务器列表中,您应该有两个条目turn:turn-server.com?protocol=tcp
和turns:turn-server.com?protocol=tcp
. 如果您不指定协议,它将使用 UDP。
VPN 会导致 WebRTC 出现一些不同的问题。如果是连通性,那么您无能为力。我见过一些默认情况下 MTU 非常低的 VPN,它可能是可配置的。
推荐阅读
- excel - 将 Excel 的 SUMPRODUCT 与 SEARCH 一起使用并忽略空白单元格
- javascript - 如何通过javascript获取图像的大小?
- javascript - 带有 uikit 的粘性图像
- android - 无法在我的应用程序中使用 barteksc PDF 查看器
- spring-boot - 尝试使用 mysql 学习带有外键和一对多关系关系的 Springboot 但是
- mongodb - MongoDB 聚合 - 加入 ($lookup) 具有某些最高值的单个文档
- laravel - 德语中的 Laravel 状态
- java - 将流程从 for 循环转移到 switch case
- c# - 物体仍然与光线投射发生碰撞,不明白为什么
- javascript - 在 Draft js 中设置没有应用程序状态的 EditorState