我正在使用BufferedReader.readLine()
方法从远程服务器读取响应(它是用 C 编写的,我无法访问源代码)。
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line;
while((line = br.readLine())!=null){
[...]
}
但它总是在最后一行阻塞,直到超时。所以我使用了以下代码:
int b;
while(true){
b = in.read;
[...]
}
我发现最后一个字节读取的整数值为13,我认为这是一个回车,对吧?
那么为什么readLine
方法会阻塞呢?服务器通常如何发出到达流结束的信号?谢谢。