1
我正在使用boost asio爲我的TCP服務器,在此我使用async_read_some進行讀取。 當網絡連接時,應用程序正常工作,正常連接關閉處理正確,如(EOF,突然關閉)。 但我的問題是,我沒有得到任何錯誤,當網絡電纜拔掉。套接字已打開,並且在套接字上寫入時出現錯誤。這是套接字工作的方式。 問題:這可以通過任何方法在Boost asio中處理嗎?Boost asio網絡斷開連接處理
我正在使用boost asio爲我的TCP服務器,在此我使用async_read_some進行讀取。 當網絡連接時,應用程序正常工作,正常連接關閉處理正確,如(EOF,突然關閉)。 但我的問題是,我沒有得到任何錯誤,當網絡電纜拔掉。套接字已打開,並且在套接字上寫入時出現錯誤。這是套接字工作的方式。 問題:這可以通過任何方法在Boost asio中處理嗎?Boost asio網絡斷開連接處理
您可能希望在套接字上設置「保持活動狀態」,請參閱Socket closed notification。試試:
socket.set_option(boost::asio::socket_base::keep_alive(true));
謝謝。我使用這個與Windows特定的Keepalive來解決這個問題。 – Rushikesh