2014-03-26 191 views
1

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

回答

2

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

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

谢谢。我使用这个与Windows特定的Keepalive来解决这个问题。 – Rushikesh