蜂窝数据上的WebRTC连接失败

我正在尝试使用这些项目创build一个WebRTC的Android应用程序:

AndroidRTC

哪个使用这个仓库: io.prinstine.libjingle

当两个客户端通过WiFi连接到networking时,这个项目运行良好,但是当其中一个客户端通过蜂窝数据连接时,这个项目不起作用。

我试图find源,看看发生了什么,我发现这个静态类:

public static class Options { // Keep in sync with webrtc/base/network.h! static final int ADAPTER_TYPE_UNKNOWN = 0; static final int ADAPTER_TYPE_ETHERNET = 1 << 0; static final int ADAPTER_TYPE_WIFI = 1 << 1; static final int ADAPTER_TYPE_CELLULAR = 1 << 2; static final int ADAPTER_TYPE_VPN = 1 << 3; static final int ADAPTER_TYPE_LOOPBACK = 1 << 4; public int networkIgnoreMask; } 

我发现这一行代码是指使用这个类的本地方法:

 public void setOptions(Options options) { nativeSetOptions(nativeFactory, options); } public native void nativeSetOptions(long nativeFactory, Options options); 

问题是如何启用蜂窝数据连接? 或者,如果你能帮我find本项目中使用的本地方法的来源,以更好地理解结构,我将不胜感激。

从你所说的我认为你使用的库是默认连接的WiFi,所以如果你打算使用蜂窝数据,那么我认为你应该做一个testing,然后使用库中find的setoptions方法,否则库或你的应用程序将继续尝试通过无线连接。