Android WebRTC 应用程序。网络外的连接

Android WebRTC application. Connection outside of the network

我正在编译这两个库以创建 WebRTC android 应用程序

io.pristine:libjingle:9636@aar
com.github.nkzawa:socket.io-client:0.4.2

只要用户 A 和用户 B 在同一网络中,一切都运行良好;一旦我将其中一台设备连接到蜂窝互联网 (4g),它就无法正常工作,我无法在两个用户之间建立连接。 我坚持了一个多星期,并且阅读了很多论坛。正如他们中的许多人建议使用 STUN 或 TURN 服务器。谁能指导我如何创建那种服务器以及如何将 Android 应用程序与该服务器连接。非常感谢。

在 webRTC 中,我们必须使用 STUN 和 TURN 服务器连接两个 device.Basicaly 这些服务器用于为客户端提供端口。使用这些端口,我们可以在 webRTC 中启动初始连接过程。 您必须使用至少 10 个服务器,比例为 9 STUN 和 1 TURN。对于 STUN 服务器,您可以查看以下列表: StunServer List 可用 STUN 服务器列表:

stun.l.google.com:19302 

stun1.l.google.com:19302

stun2.l.google.com:19302

stun3.l.google.com:19302

stun4.l.google.com:19302

stun01.sipphone.com

stun.ekiga.net

stun.fwdnet.net

stun.ideasip.com

stun.iptel.org

stun.rixtelecom.se

stun.schlund.de

stunserver.org

stun.softjoys.com

stun.voiparound.com

stun.voipbuster.com

stun.voipstunt.com

stun.voxgratia.org

stun.xten.com

对于 TURN,我建议设置您自己的 TURN 服务器,这样如果所有 STUN 都失败,至少您的 TURN 服务器可以为客户端提供端口。