SO_KEEPALIVE 的 C 套接字编程
Posted
技术标签:
【中文标题】SO_KEEPALIVE 的 C 套接字编程【英文标题】:C Socket Programming for SO_KEEPALIVE 【发布时间】:2017-02-03 09:52:20 【问题描述】:我在服务器和客户端之间有一个 TCP 连接。客户端和服务器上没有设置 SO_KEEPALIVE 选项。如果客户端宕机,服务器如何知道客户端是否宕机,如果是,连接是否会终止?
【问题讨论】:
如果您没有 keepalive,您仍然可以使用读取超时,但最终发送时仍会出错。 【参考方案1】:我假设您的意思是如果客户端突然断开连接并且连接没有正常关闭? 为什么 SO_KEEPALIVE 不是一个选项,因为这可以解决您的问题? 如果没有,您需要实现某种保持活动机制,例如在计时器上发送“你好,我还活着”数据包。
【讨论】:
以上是关于SO_KEEPALIVE 的 C 套接字编程的主要内容,如果未能解决你的问题,请参考以下文章