答案时Wifi套接字连接nullpointer异常

时间:2013-04-30 13:40:46

标签: android sockets nullpointerexception inputstream

我写了一个连接到java服务器的应用程序。它向服务器发送一条小消息,如果消息“打开”,服务器将应答。对于任何其他情况,服务器不会发回数据。

我写了一行来检查输入流是否为null,但是在服务器没有应答的情况下它会得到一个nullpointer异常。它对我来说很奇怪:

  

if(!(line = in.readLine())。equals(null)){Remote.setValue(line);       }

因此,如果“line”为null,那么它应该跳过(或者转到else部分,如果它会在哪里)我设置值的部分,但它会挂起。只需阻止整个应用程序。

我做错了什么?为什么是这样?我该如何解决?请帮忙!

1 个答案:

答案 0 :(得分:0)

您没有检查输入流是否为空。您正在检查readLine是否返回null。

请改为尝试:

if (in != null) {
  line = in.readLine();
  if (line != null) {
      Remote.setValue(line);
  }
}

编辑:

使用socket.setSoTimeout (x),其中x是某个正整数,以便in.readLine()在输入可用之前不会阻塞。