Android Nougat:通过ppp0接口连接时套接字超时异常

时间:2019-03-30 12:44:31

标签: linux java-8 iptables android-7.0-nougat android-networking

通过蜂窝网络(ppp0接口)进行连接时获得连接超时。

Test code snippt for reference :

Socket sock = new Socket();

//set traffic class to 4
if(isConnectOverCellular)
    sock.setTrafficClass(4); 

sock.bind(new InetSocketAddress(localAddress,0));
sock.connect(remoteInetAdddress,port);  // This connect method throwing connection timeout
sock.close();

步骤:

我的设备上提供了

wlan0和ppp0 2接口。

  1. Wlan0:我想保留wlan0接口作为默认接口,以通过它传输所有请求。

  2. ppp0:当我通过代码设置特定的流量类别(例如4)时,我会通过ppp0接口传输请求。

为此,我在ip表中添加了以下条目。

///删除了ppp0的默认路由

ip route del default dev ppp0

///为tos(服务类型)4添加了默认的ppp0路由。

ip路由将默认值添加到4 dev ppp0

  1. 从Java代码中,添加以下行“ java socket.setTrafficClass(4)”来设置套接字通信量类,以在通信量类设置为4时选择ppp0接口。

当两个接口(wlan0和ppp0)都启动时,则以上代码片段(套接字连接操作)应在android Nougat上工作,但这不起作用并抛出连接超时异常。

相同的代码正在android kitkat上运行。

注意:另一个观察结果是当wlan0接口关闭时,套接字连接操作也可以正常工作,没有任何问题。

任何人都可以在这里帮忙吗,导致此问题的android Nougut中引入了哪些更改。

谢谢。

谢谢, Yogesh Dave

0 个答案:

没有答案