network-programming - 检查 WebRTC 连接 - 可靠的方法

标签 network-programming connection protocols webrtc ports

我有一个实时视频聊天应用程序,我使用支持 STUN/TURN 和 UPD/TCP 传输的 TURN 服务器。

有时,用户可以连接到阻止那么多 WebRTC 连接不可能的端口和协议(protocol)的网络(通常是企业网络)。我想在用户尝试相互连接之前检查 WebRTC 连接是否可行(实际上,执行技术检查)。

我该怎么做?我脑子里的想法:

  1. 尝试通过 WebRTC 下载托管数据 block (例如音频文件)- 这是否可能,这是否足以确保入站和出站连接都打开?
  2. 使用TURN服务器作为主机建立连接并查看它是否失败(不知道我是否能做到)
  3. 使用 Flash 尝试通过特定端口和协议(protocol)下载/上传大量数据。甚至可能正在使用 Cirrus。但是,我不确定这个测试从 WebRTC 的角度来看是否准确。
  4. 还有其他想法吗?

附加要求:检查技术必须支持 Chrome、Opera 和 Firefox。最好还有通过 Temasys 插件的 IE/Safari。

第 1 版 - 收集 ICE 候选人是个好主意,但它并非 100% 可靠。一旦我检查了我的应用程序中的日志,它实际上收集了中继 ICE 候选者,但视频/音频传输失败。也在 Apprtc 上进行了测试并得到了相同的结果。

最佳答案

最好的检查方法是先连接一个数据通道。您的用户不会注意到。如果可行,那么音频和视频几乎可以保证正常工作。作为奖励,您可以在用户准备就绪时使用数据通道发送超快速连接信号。

关于network-programming - 检查 WebRTC 连接 - 可靠的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32010852/

相关文章:

Objective-C 发起/恢复 wifi 连接

c# - 如何在同一解决方案中将通用 Windows 应用程序与旧版 .Net 4.5 应用程序进行实时通信。工控机?

c++ - 如何向路由器预连接发送消息

java - 在互联网连接打开时打开 Android 应用程序,否则显示无互联网连接消息

protocols - 实现 BitTorrent 协议(protocol)

ios - 如何在函数的返回类型中引用遵循协议(protocol)的类?

c# - 如何找到哪台计算机发送打印作业?

mysql - SQL Server 到 MySQL 数据传输

java - 阻止集成测试端口

class - 在泛型类中使用泛型协议(protocol)