首页 > 系统服务 > 详细

Linux 网络编程详解九

时间:2016-12-08 11:53:14      阅读:206      评论:0      收藏:0      [点我收藏+]
TCP/IP协议中SIGPIPE信号产生原因
1.假设客户端socket套接字close(),会给服务器发送字节段FIN;
2.服务器接收到FIN,但是没有调用close(),因为socket有缓存区,所以服务器仍然可以向客户端发送数据。
3.如果这种状态下服务器向客户端发送数据,将会引起TCP/IP协议进行RST段重置,导致服务器向当前进程发送SIGPIPE信号,
  SIGPIPE信号的默认动作是关闭当前进程。

所以在网络编程中必须要捕捉SIGPIPE信号,因为不确定哪个端会突然close()。

 

Linux 网络编程详解九

原文:http://www.cnblogs.com/zhanggaofeng/p/6144244.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!