首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以检查TCP连接是否在未写入的情况下断开连接?

问是否可以检查TCP连接是否在未写入的情况下断开连接?
EN

Stack Overflow用户
提问于 2012-03-28 13:34:36
回答 2查看 248关注 0票数 2

我想知道是否可以在不尝试写入的情况下确定已接受的套接字连接是否已断开。

IO::Select仍然指示可以使用can_write写入套接字,即使在套接字连接断开之后也是如此。

是否可以在没有写入的情况下检查TCP连接是否已断开(在存在计划外互联网中断的情况下)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-28 13:39:43

这与其说是Perl的问题,不如说是TCP的问题。

像断开电缆/互联网连接这样的事件不会导致TCP事件。因此,您必须写入TCP连接,以确保它仍处于连接状态。您可以为唯一部分添加ping/echo消息,以了解连接仍然可用。

票数 3
EN

Stack Overflow用户

发布于 2012-03-28 13:39:41

一般来说,不是。当你写的时候,你通常只会得到一个失败:如果你从来不写,它就会停在那里。如果你完全失去了网络连接,我已经看到弹出的错误(在Windows上:没有在Linux上尝试过),但通常你需要尝试写入它以验证它是否处于活动状态。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9901673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档