Когда getInputStream () возвращает ноль? - PullRequest
0 голосов
/ 02 марта 2011

Когда мы вызываем Socket.getInputStream() во второй раз после создания клиента, он возвращает ноль. Что я могу сделать?

Ответы [ 2 ]

2 голосов
/ 02 марта 2011

Это будет чувствовать как возвращенное нулевое значение, если вы использовали этот шаблон случайно:

InputStream is = null;
try {
   is = socket.getInputStream();
} catch (IOException e) {
  // TODO will be logged once logging is implemented...
  // e.printStackTrace();
}
is.read(); //  <-- NPE in case IOException...

Дважды проверьте свой код, это может быть причиной вашего NPE.

1 голос
/ 02 марта 2011

Согласно его документации Socket.getInputStream() никогда не вернется null.Он либо возвращает InputStream , либо , который он выбрасывает IOException.

Если он выбрасывает IOException, то вы либо закрыли сокет, либо другая сторона закрыла сокет или какой-либо другойпроблема возникла во время общения.

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