我正在使用BufferedReader.readLine()
方法来读取来自远程服务器(用C编写且我无法访问源代码)的响应。插槽:BufferedReader readLine()块
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line;
while((line = br.readLine())!=null){
[...]
}
但是它总是阻塞在最后一行直到它超时。所以我用下面的代码:
int b;
while(true){
b = in.read;
[...]
}
和我发现阅读的最后一个字节为13的整数值,我认为这是一个回车,对不对?
那么为什么readLine
方法阻止?服务器如何通常表示流达到了终点?谢谢。
能否请您粘贴你使用的非阻塞代码。我期待看到可以为非阻塞输入做些什么 – 2017-02-11 08:16:42