У меня есть простое приложение, в котором я открываю соединение TCP-сокета с сервером, а затем отправляю через него некоторые данные. Он работает нормально, но я получаю следующее исключение на устройствах Nexus 5X. Поскольку я могу подключиться к серверу с другими устройствами, это не проблема на стороне сервера.
09:00:05.118+03:00 D/com.testing.android.util.Util getCurrentGatewayIP: 192.168.1.1
09:00:05.120+03:00 D/com.testing.android.util.TCPClient Connect()
09:00:05.121+03:00 D/com.testing.android.util.TCPClient openSocket
09:00:17.162+03:00 E/com.testing.android.util.TCPClient sendInfo
09:00:17.163+03:00 E/com.testing.android.util.TCPClient java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:334)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
at java.net.Socket.connect(Socket.java:586)
at com.testing.android.util.TCPClient.openSocket(TCPClient.java:208)
at com.testing.android.util.TCPClient.connect(TCPClient.java:53)
at android.os.AsyncTask$2.call(AsyncTask.java:304)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
ОБНОВЛЕНИЕ:
Похоже, Nexus 5X блокирует доступ к серверу (который является частью локальной сети и подключается к телефону через Wi-Fi). Эта сеть не имеет подключения к Интернету. На других устройствах Android вы получите уведомление «У Wi-Fi нет доступа к Интернету. У этой сети нет доступа к Интернету. Оставайтесь на связи? (Да/Нет)», но вы все равно сможете общаться в локальной сети. На Nexus, если пользователь не согласился оставаться на связи с сетью, вся связь блокируется.