首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TCP会在发送保活数据包后杀死死的空闲连接吗?

问TCP会在发送保活数据包后杀死死的空闲连接吗?
EN

Stack Overflow用户
提问于 2020-11-13 08:00:08
回答 1查看 189关注 0票数 0

我对TCP保持活力的理解:

这种保持活力并不能真正“保持连接活动”。相反,"detectAlive“可能是一个更恰当的词: Tcp级别交换心跳包以检测空闲连接是死了还是活了。

以下是我的问题:

在TCP知道连接已死后,TCP级别是否自动关闭connection?

  • After TCP知道连接已死,应用程序级别如何知道该信息?通过了解该信息,从而关闭套接字并释放资源

。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-13 13:21:22

在TCP知道连接已死后,

级别会自动关闭连接吗?

TCP是一种协议。它什么都不知道。但是,操作系统中的特定实现将检测TCP连接是否不能再使用或不带有效负载交换数据(即保持活动),并将关闭连接的本地状态。它不会进行正常的TCP连接关闭,这涉及发送FIN等,因为它可以假定连接已经中断。

在TCP知道连接已死后,应用程序级别如何知道这些信息?通过了解该信息,从而关闭套接字并释放资源。

这取决于应用程序。应用程序需要以某种方式监视套接字的状态,即进行写入、读取、选择或类似操作。然后,这些函数将不再阻塞,例如,可以根据读/写或类似中的错误代码来确定连接的中断状态。如果应用程序在一段时间内不关心套接字,那么它只有在重新开始关心时才会意识到这个问题。

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

https://stackoverflow.com/questions/64817340

复制
相关文章

相似问题

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