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);程序

相关文章
相关标签/搜索