Проблема при создании сокета - PullRequest
0 голосов
/ 08 августа 2011

У меня есть приложение для Android, которое пытается подключиться к серверу. Но есть проблема, когда я создаю сокет. приложение зависает при попытке реализовать следующую строку:

Socket socket= null;
socket = new Socket("192.168.0.15", 6565);

обратите внимание, что я добавил это разрешение:

<uses-permission android:name="android.permission.INTERNET" />

также я использовал отладку, но она зависает при создании строки сокета, и я получил следующую информацию об ошибке:

java.net.SocketTimeoutException: Socket is not connected id=829731319824

и я уверен, что порт не связан. Я ценю ваше время.

Ответы [ 2 ]

2 голосов
/ 08 августа 2011

Возможно, ваше соединение не может быть установлено или требуется некоторое время для установки.

Операции на java.net.Socket блокируются, поэтому ваше приложение кажется зависшим.Чтобы избежать «зависания» пользовательского интерфейса, вам, вероятно, следует попытаться установить соединение с использованием другого потока, чтобы ваш поток пользовательского интерфейса не блокировался и оставался отзывчивым.

0 голосов
/ 08 августа 2011

Очевидно, что ваше соединение не может быть установлено, и проблема заключается не в вашем коде, а в настройке сети. Чтобы приложение не зависало, убедитесь, что вы перехватили исключение SocketTimeoutException, чтобы иметь возможность показать пользователю сообщение об ошибке вместе с некоторыми кнопками, например, чтобы повторить попытку или отменить соединение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...