繁体   English   中英

当其中一个设备连接到 WiFi 时,WebRTC android 实现不起作用

[英]WebRTC android implementation not working when one of the device is connected to WiFi

我开发了一个视频流应用程序,可以将视频从一个 Android 设备传输到另一个(而不是相反)。 当两台设备都在各自的 LTE 网络上时,该应用程序运行良好。 但是当其中一台设备连接到 WiFi 时,应用程序在握手(交换报价和​​回答)中失败并在日志中显示

D/null localPeerCreation:
onIceConnectionChange() called with:
iceConnectionState = [CLOSED]

在某些情况下, FAILED 代替 CLOSED

我不知道为什么会发生这种情况,在个人 LTE 的情况下它可以工作,但对于 WIFI 则不行。 我一直在尝试调试这个问题很长一段时间,但我无法指出任何事情,因为 WebRTC 的 android 实现的引用也非常少。 请帮忙。

编辑:在 Xirsys 响应候选人之前,我开始发送 Ice 候选人,因此从未使用过 TURN 服务器。 所以我改变了我的应用程序,这样任何握手只会在收到来自 Xirsys 的候选人之后发生。 我知道这很愚蠢。

我不熟悉 Xirsys 的 TURN 服务器,但它可能无法涵盖需要连接两个客户端的 LTE 的所有情况。

我会检查以下内容。

  • 支持哪些传输类型(UDP、TCP 和 TLS)
  • TURN 服务器是否为 IPv4 和 IPv6 生成侦听器?
  • 两个设备上的网络是什么样的(IPv4/IPv6,在 NAT 后面?)

如果您可以共享双方的候选人和您的 RTCConfiguration,那将大有帮助。 确保匿名您的 URL 和 IP!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM