https://blog.csdn.net/dsanmux/article/details/52083403
https://blog.csdn.net/u011425939/article/details/81835968
send(sockfd, buff, sizeof(buff), 0);
在linuxTCP通讯中上述send形式是常用的设置方式,但是如果在TCP链接断开后调用该send函数,多次即会导致进程结束。
解决方法
最简单的方式就是
send(sockfd, buff, sizeof(buff), MSG_NOSIGNAL);
原因
linux下TCP/IP socket套接字建立后,实际上客户端与服务器端通讯是全双工,即客户端与服务器端通信各使用一个信道,而当一端关闭了信道,实际上另一边的信道是不会关闭,仍可以向里面写数据,而此时,会产生一个信号SIGPIPE,对信号的默认处理方式是:关闭当前进程
---------------------
作者:HomeSamu
来源:CSDN
原文:https://blog.csdn.net/dsanmux/article/details/52083403
版权声明:本文为博主原创文章,转载请附上博文链接!