Разъемы Android - IOException на стороне клиента - PullRequest
0 голосов
/ 07 июля 2011

Я пытаюсь подключиться к простому серверу Java на моем компьютере (в будущем это настоящий сервер, но я сначала учусь программировать с помощью сокетов. Когда я пытаюсь подключиться, приложение на телефоне выдаетисключение IOException. Однако на эмуляторе это НЕ.

У меня есть:

<использование-разрешения android: name = "android.permission.INTERNET" />

включено в манифест. А вот блок кода, который выполняется, когда я открываю:

try {
  responseField.setText("Opening socket...");
  Socket socket = new Socket(getIP(),Integer.parseInt(getPort()));
  responseField.setText("Socket opened. Initializing out...");
  out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
  responseField.setText("Done. Initializing in...");
  in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  responseField.setText("Done.");
} catch (NumberFormatException e1) {
  responseField.setText("NumberFormatException");
} catch (UnknownHostException e1) {
  responseField.setText("UnknownHostException");
} catch (IOException e1) {
  responseField.setText("IOException");
}

Ответы [ 3 ]

0 голосов
/ 15 июля 2011

Похоже, что слабый сигнал Wi-Fi вызывает ошибку.Я пытался путешествовать по сети (Google, CNN и т. Д.) После этого, но не смог.Так что сейчас мне просто нужно проверить на эмуляторе или на более сильном сигнале.Спасибо

0 голосов
/ 15 июля 2011

Если вы смогли подключиться к сети до (я предполагаю), но не после, то это не проблема с силой Wi-Fi. Кроме того, в зависимости от места вашего серфинга, Wi-Fi роутер может быть настроен так, чтобы не разрешать такие соединения. Попробуйте проверить IP-адрес вашего сервера, используя другой компьютер в той же сети, и посмотрите, можете ли вы пропинговать. Эмулятор будет работать, так как сервер работает на локальном хосте.

0 голосов
/ 07 июля 2011

Убедитесь, что на стороне сервера используется ServerSocket и используется метод ServerSocker.accept ()?

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