作为标题。
这是代码:
InputStream is = tcp.getInputStream();
int bytesRead = 0;
do{
byte[] byteIn = new byte[16* 1024];
bytesRead = is.read(byteIn, 0, 16*1024);
pStore.storeData(byteIn, 1024);
processMessage(pStore.readAll());
pStore.clear();
}while(bytesRead>0);
我遇到的问题是它永远不会到达while循环的末尾。任何建议都会非常感激。
谢谢:)
答案 0 :(得分:3)
InputStream.read()
的Javadoc说:
此方法将阻塞,直到输入数据为止 可用
您可能会看到这一点。
如果有任何数据需要先读取,您可以使用InputStream.available()
进行测试。