网络断开连接不会在Java中抛出IOException

时间:2012-10-15 11:03:34

标签: java sockets

我有一个每隔5秒写入TCP套接字的线程,连接到远程TCP端口(使用Java .net套接字,而不是NIO)。为了您的信息,我没有在套接字层上配置任何超时(S0,..),它具有默认值。如果网线连接到远程TCP端口 删除我的java线程没有得到任何IO异常,而是继续写入套接字。

有人可以指导我为什么我没有得到这些例外?我想在每隔5秒尝试写入套接字时,write方法应该通过IOException。

此致,Rajib

1 个答案:

答案 0 :(得分:1)

这完全取决于你写入套接字的数量,以防你不经常刷新。如果每5秒只写几个字节,则缓冲区可能需要相当多的时间来自动填充和刷新。最终会出现异常。如果您进行刷新,那么可能会有另一个您正在忽略的网络管道,例如WiFi,并且传输只是故障转移到那个。