C++ 服務器端寫出數據時意外中止問題

場景:服務端向 客戶端寫出數據的時候, 客戶端因爲 程序一場,關閉了連接。安全

此時,致使服務端崩潰了。socket

 

緣由: 轉:http://blog.csdn.net/x_nazgul/article/details/50998292.net

TCP 一端關閉,另外一端調用send進程退出了blog

最後問題肯定爲, 對一個對端已經關閉的socket調用兩次write, 第二次將會生成SIGPIPE信號, 該信號默認結束進程.進程

解決方案:get

所以咱們須要重載這個信號的處理方法。調用如下代碼,便可安全的屏蔽SIGPIPE:it

signal (SIGPIPE, SIG_IGN);程序

相關文章
相關標籤/搜索