关于Linux socket通讯中send,recv函数的一个说明

代码调试中发现当client断开链接时,server程序也会自动退出,由于代码是从WINDOWS移植,所以查了一天才发现原因。

查看了http://www.cnblogs.com/blankqdb/archive/2012/08/30/2663859.html的文章后,突然想起我把server程序用做后台运行时,也提到了PIPE的信息,所以估计是要处理一下SIGPIPE信息,处理后,果然没有自动退出,一切OK

或者是在send函数最后一个FLAG中添加MSG_NOSIGNAL标志也可以。

如果不处理SIGPIPE信号,则SOCKET有错误时就会自动退出程序。很是无语啊。一天的时间找出这一个特性……

你可能感兴趣的:(网络编程,Linux)