WIFI和移动数据同时打开, OS 检测到WIFI 无 Internet, 默认走了 移动网络 手机连接 设备的AP, 通过局域网方式把 路由器的账号密码发过去。错误日志如下:
2019-08-12 14:11:14 08-12 14:11:14.638 8434 9502 W System.err: java.net.SocketTimeoutException: failed to connect to /192.168.169.1 (port 80) from /10.110.27.199 (port 47326) after 6000ms 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at libcore.io.IoBridge.connectErrno(IoBridge.java:185) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at libcore.io.IoBridge.connect(IoBridge.java:129) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:137) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:391) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:231) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:213) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at java.net.Socket.connect(Socket.java:621) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at com.android.okhttp.internal.Platform.connectSocket(Platform.java:145) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:141) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:112) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:184) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127) 2019-08-12 14:11:14 08-12 14:11:14.639 8434 9502 W System.err: at golvin.com.tutk_android_sdk.Activity.MyActivity.WiFiActivity$7.run(WiFiActivity.java:594)
提示错误为: java.net.SocketTimeoutException: failed to connect to /192.168.169.1 (port 80) from /10.110.27.199 (port 47326) after 6000ms
-- 192.168.169.1 是设备固定IP, 10.11.27.199应该为手机IP, 连接超时。
发送的时候WIFI并没有断开,但错误日志中打印的IP却为10.11.27.199。于是我在发送的时候又在代码中打印了一下IP为正常的(192.168.169.2)。 于是我开启飞行模式关闭了移动数据, 只连设备Ap,再次请求。 请求成功。 测试手机为 HUAWEI BLA-AL00 Android系统版本号:9 有没有方法 不手动关闭 移动网络 ,仍然请求成功呢。