提升asio断网处理

Posted

技术标签:

【中文标题】提升asio断网处理【英文标题】:Boost asio network disconnection handling 【发布时间】:2014-03-26 05:34:00 【问题描述】:

我在我的 TCP 服务器上使用 boost asio,在这里我使用 async_read_some 来读取。 连接网络时应用程序工作正常,正常连接关闭处理正确,如(EOF,突然关闭)。 但我的问题是拔下网线时我没有收到任何错误。套接字已打开,在套接字上写入时出现错误。这就是套接字的工作方式。 问题:在Boost asio中可以通过任何方法处理吗?

【问题讨论】:

【参考方案1】:

您可能想在套接字上设置“保持活动状态”,请参阅Socket closed notification。试试:

socket.set_option(boost::asio::socket_base::keep_alive(true));

【讨论】:

谢谢。我将它与 Windows 特定的 Keepalive 一起使用来解决这个问题。

以上是关于提升asio断网处理的主要内容,如果未能解决你的问题,请参考以下文章

电脑经常断网怎么办

如何处理浏览器的断网情况?

CSipIm断网重连崩溃原因分析

IM即时通讯开发之WebSocket断网重连更快的方法

arp断网攻击怎么彻底解决(arp断网攻击怎么解决)

电脑遭受ARP断网攻击怎么办