InputStream read() 网线断开仍然不返回-1,何故?

chinalongship 2011-09-29 10:27:46
http 下载的时候, 用InputStream read() 获取数据流,但当网络断开的时候,read()的返回值仍然不为-1,什么原因?
如何判断网络断开?
...全文
392 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
haizi2353101 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chinalongship 的回复:]

设置timeout ,也就是读超时时间,就可以抛出异常了

引用 4 楼 lovesgjs 的回复:

碰到了跟楼主一样的问题,不知道楼主解决了没有?
[/Quote]

怎么读超时时间呀?
chinalongship 2011-10-24
  • 打赏
  • 举报
回复
设置timeout ,也就是读超时时间,就可以抛出异常了

[Quote=引用 4 楼 lovesgjs 的回复:]

碰到了跟楼主一样的问题,不知道楼主解决了没有?
[/Quote]
binggan90du 2011-10-24
  • 打赏
  • 举报
回复
学习下……
念茜 2011-10-24
  • 打赏
  • 举报
回复
这个好眼熟,是不是问过一个拔掉网线的问题:-)
lovesgjs 2011-10-20
  • 打赏
  • 举报
回复
碰到了跟楼主一样的问题,不知道楼主解决了没有?
chinalongship 2011-09-29
  • 打赏
  • 举报
回复
这个方法虽可行,但不能在while ()循环里面反复调用吧,代码逻辑为


while (true){

int readlen = inputstream.read(...);
if (readlen == -1){
break;
}
write(...);
}

在以上的while 循环中,如果拔出网线,如何跳出呢?拔出网线,readlen 并不等于-1,也没有异常抛出




[Quote=引用 1 楼 lizhengjun2010 的回复:]

http://wang-peng1.iteye.com/blog/557362
[/Quote]
谭雅 2011-09-29
  • 打赏
  • 举报
回复
mark
lizhengjun2010 2011-09-29
  • 打赏
  • 举报
回复
http://wang-peng1.iteye.com/blog/557362

80,479

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧