socket中Inputstream.read()方法出现问题,一直阻塞; 10

InputStreaminputStream=socket.getInputStream();ByteArrayOutputStreamoutputStream=newB... InputStream inputStream = socket.getInputStream();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] bytes = new byte[512];
int len = -1;
len = inputStream.read(bytes);
System.out.println(len + "====================");
outputStream.write(bytes, 0, len);
while ((len = inputStream.read(bytes)) != -1) {
outputStream.write(bytes, 0, len);
outputStream.flush();
}
bytes = outputStream.toByteArray();
System.out.println("=============结束了====================="
+ bytes.length);
inputStream.read()在读取完信息后,一直阻塞着,不走最后一句,也没有异常抛出?
展开
 我来答
xujiarui
推荐于2017-06-11
知道答主
回答量:1
采纳率:0%
帮助的人:1452
展开全部
InputStream inputStream = socket.getInputStream();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] bytes = new byte[512];
int len = -1;
len = inputStream.read(bytes);
System.out.println(len + "====================");
outputStream.write(bytes, 0, len);
while ((len = inputStream.read(bytes)) != -1) {
outputStream.write(bytes, 0, len);
outputStream.flush();
socket.shutdownOutput();
}
bytes = outputStream.toByteArray();
System.out.println("=============结束了====================="
+ bytes.length);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aoisora_blue
2013-05-10 · TA获得超过412个赞
知道小有建树答主
回答量:583
采纳率:0%
帮助的人:365万
展开全部
这个方法本身就是堵塞的,要等读到信息才继续往下走的
追问
那我应该怎样处理下?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式