【发布时间】:2011-01-28 14:14:33
【问题描述】:
如果客户端突然断开连接并引发 EOF 异常,则以下循环似乎阻塞了整个服务器应用程序:
String a = "";
int amount = 1;
while(((cr = streamIn.readByte()) != EOF))
{
if(amount < 100)
{
a+=(char)cr;
amount++;
}
else
break;
}
根据功能描述: readByte():接收一个字节。该方法将阻塞,直到数据可用。
问题是,我怎样才能让它超时,所以它最多只能阻塞几秒钟?
【问题讨论】:
-
如何获得streamIn?是原始套接字吗?来自 Servlet 的流?还有什么?