我想知道是否可以在不尝试写入的情况下确定已接受的套接字连接是否已断开。
IO::Select仍然指示可以使用can_write写入套接字,即使在套接字连接断开之后也是如此。
是否可以在没有写入的情况下检查TCP连接是否已断开(在存在计划外互联网中断的情况下)。
发布于 2012-03-28 13:39:43
这与其说是Perl的问题,不如说是TCP的问题。
像断开电缆/互联网连接这样的事件不会导致TCP事件。因此,您必须写入TCP连接,以确保它仍处于连接状态。您可以为唯一部分添加ping/echo消息,以了解连接仍然可用。
发布于 2012-03-28 13:39:41
一般来说,不是。当你写的时候,你通常只会得到一个失败:如果你从来不写,它就会停在那里。如果你完全失去了网络连接,我已经看到弹出的错误(在Windows上:没有在Linux上尝试过),但通常你需要尝试写入它以验证它是否处于活动状态。
https://stackoverflow.com/questions/9901673
复制相似问题