求一个Java问题的思路

大_爱 2012-09-10 04:41:57
我传输文件用Java NIO的transferTo()方法。

但是在传输过程中不知道网线是否会断掉,这个方法就会阻塞.我想不让它阻塞,让它结束,各位有什么好办法吗?

谢谢大家
...全文
205 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
大_爱 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

分小块传输,等待回复,如果长时间没回复,可能网线掉了,我猜的
[/Quote]

不是这样的,是当网线断掉之后我需要做出反应。
大_爱 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

看一下是
ClosedChannelException异常还是什么异常.
[/Quote]

IO异常,Bad Address

CSDN老是回复不成功,
大_爱 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

设置Channel 的阻塞模式为非阻塞 configureBlocking(false);

调用transferTo方法,当断网时,应该会抛出异常的,捕捉这个异常就可以了。
[/Quote]

我用的FileChannle并没有看到有configureBlocking()方法啊
大_爱 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

设置Channel 的阻塞模式为非阻塞 configureBlocking(false);

调用transferTo方法,当断网时,应该会抛出异常的,捕捉这个异常就可以了。
[/Quote]

Bad Address 但是有个时间
brightyq 2012-09-11
  • 打赏
  • 举报
回复
看一下是
ClosedChannelException异常还是什么异常.

brightyq 2012-09-11
  • 打赏
  • 举报
回复
设置Channel 的阻塞模式为非阻塞 configureBlocking(false);

调用transferTo方法,当断网时,应该会抛出异常的,捕捉这个异常就可以了。
大_爱 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

setSoTimeout可以吗?
还有你不知道网线是否会断掉,传送文件的时候如果网线断掉应该马上会catch到异常报告啊,
或者你可以再开一个线程用于监视对方是否正常在线。
[/Quote]
setSoTimeout是哪个类的啊,

传输文件的时候,确实catch到异常了,但是要等会才反应过来。不知道是不是其他地方影响到了
大_爱 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

setSoTimeout可以吗?
还有你不知道网线是否会断掉,传送文件的时候如果网线断掉应该马上会catch到异常报告啊,
或者你可以再开一个线程用于监视对方是否正常在线。
[/Quote]
setSoTimeout是哪个类的哟。


确实如你所说,的确是catch到异常了,不知道哪里阻塞了。
菖蒲老先生 2012-09-11
  • 打赏
  • 举报
回复
try catch
当网线断掉后,服务端往客户端继续写数据会抛相应异常,
捕获该异常,抛出相关提示信息。。。
大_爱 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

socket的阻塞方法有一个限时阻塞的,通过传入较短的阻塞时间检查端口状态及异常信息可以判断出现问题的原因。
[/Quote]

我没有使用Socke编程
  • 打赏
  • 举报
回复
setSoTimeout可以吗?
还有你不知道网线是否会断掉,传送文件的时候如果网线断掉应该马上会catch到异常报告啊,
或者你可以再开一个线程用于监视对方是否正常在线。
大_爱 2012-09-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

socket的阻塞方法有一个限时阻塞的,通过传入较短的阻塞时间检查端口状态及异常信息可以判断出现问题的原因。
[/Quote]

我不是用的Socke的编程
为啥呢 2012-09-11
  • 打赏
  • 举报
回复
socket的阻塞方法有一个限时阻塞的,通过传入较短的阻塞时间检查端口状态及异常信息可以判断出现问题的原因。
corn8888 2012-09-10
  • 打赏
  • 举报
回复
分小块传输,等待回复,如果长时间没回复,可能网线掉了,我猜的

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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