WebRTC屏幕共享在美国的LTE上不起作用

时间:2019-04-30 05:05:43

标签: android webrtc stun turn

我正在开发一个Android应用程序,用于使用webRTC进行远程屏幕共享。对于STUN服务器,我使用了google stun服务器。它在印度的WIFI和LTE上运行良好。在美国,它不适用于LTE,但适用于WIFI。

首先,我只使用了STUN服务器,然后将STUN和TURN服务器组合在一起,但是没有使用。

下面是我的代码,

val iceServers = ArrayList<PeerConnection.IceServer>()
iceServers.add(PeerConnection.IceServer("stun:stun.l.google.com:19302"))
iceServers.add(PeerConnection.IceServer("turn:13.250.13.83:3478?transport=udp", "YzYNCouZM1mhqhmseWk6", "YzYNCouZM1mhqhmseWk6"))
return iceServers

仍然,这在美国的LTE上不起作用。

在LTE中,此GOOGLE stun服务器不适用于美国吗?

1 个答案:

答案 0 :(得分:0)

使用STUN,TURN检查网络连接

在最新的移动版Chrome浏览器中检查这两个链接。

https://networktest.twilio.com

https://test.webrtc.org

可能您可以检查网络是否正常。

也许是IPv6问题

在韩国,IPv6 LTE移动客户端也有一些问题。有时,移动运营商将IPv6提供给其客户端,则P2P连接不起作用。也许那里有同样的问题。

我用TURN + TCP解决了。我不知道为什么,但是IPv6客户端不适用于UDP。

以下是一些相关文件:

  • Webrtc media over tcp?

      

    要通过TURN服务器强制执行严格的TCP:

         
        
    • 仅将TURN网址与?transport=tcp一起使用
    •   
    • 指定iceTransportPolicy:"relay",以便所有媒体都将通过TURN流动
    •   
  • TURN, STUN setting

      

    通过TCP和UDP提供TURN和STUN功能:

    sudo turnserver -L <your STUN server\'s IP address> -o -a -f -r red5pro.com
    
         

    要在没有TCP的情况下运行服务器:

    sudo turnserver -L <your STUN server\'s IP address> -o -a -f --no-tcp --no-tcp-relay -r red5pro.com
    
         

    仅通过UDP运行STUN:

    sudo turnserver -L <your STUN server\'s IP address> -o -a -f --stun-only --no-tcp --no-tcp-relay -r red5pro.com
    
  • What happens when WebRTC shifts to TURN over TCP