【发布时间】:2016-02-18 07:37:51
【问题描述】:
我使用 C 中的普通套接字编写了一个客户端来连接到远程机器以保持持久连接,从而接收推送消息。一切都很好。为了使其持久化,我设置了 Keepalive 并在循环中等待 recv() 函数。
问题是,当网络接口关闭时,recv() 不会返回。正如我从套接字文档中了解到的那样,对等方必须断开连接才能返回 recv()。网络接口断开与对等断开连接不同。
这里的需要是,如果网络接口出现故障,我需要安排重新连接以便建立通道。
请问有什么想法吗?
【问题讨论】: