![](/img/trans.png)
[英]Getting bufferedReader.readLine() value is null in android
[英]Android bufferedReader.readLine for continuously listening
我正在尝试编写一个连接到服务器的演示应用程序,然后继续监听来自服务器的随机定时输入。 发现和连接到服务器的工作正常,现在我启动一个新线程,因此不会阻塞ui。 现在,在我的线程中,如果有传入的数据,我需要不断地侦听并做出反应。 根据我到目前为止所读的内容,应该这样做:
while (connected) {
while ((line = bufferedReader.readLine()) != null) {
// do something with line and contact the ui
}
}
我不明白的是:readLine()显然只能在服务器接收到数据的情况下读取一行。 因此,一旦服务器停止发送(即什么也没有发送),循环就不应该中断吗?
谢谢任何想法,马库斯
readLine是一种阻塞方法,因此,如果什么都没有收到,它将在该处等待阻塞执行。 仅当接收到一个空值时,循环才会停止(读取文本文件时,这通常意味着已到达文件末尾)。
尝试以其他方式检测关闭的连接,或者如果您也对服务器进行编码,请尝试发送诸如“ END”之类的信息,该信息可以在客户端读取。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.