socket服务器远程关闭时导致client程序退出的处理办法

http://www.linuxidc.com/Linux/2011-02/32223.htm

当server端关闭一个socket连接时,如果client端继续发送数据,系统会发出一个SIGPIPE信号给进程,通知进程这个连接已经断开,不 应该再发送数据。而Linux系统的默认处理规则是对SIGPIPE信号执行terminate(终止、退出)处理,所以client端程序会异常退出, 为了避免这种情况发生,可以将SIGPIPE设为SIG_IGN。
signal(SIGPIPE, SIG_IGN);

 

posted @ 2015-01-22 11:40  Merlin-magic  阅读(386)  评论(0编辑  收藏  举报