linux socket通信之SIGPIPE信号
做一个很简单的通信模块:服务器端监听服务请求并接收数据;客户端连接服务器段并发送数据。考虑到一种情况:客户端向服务器端连续两次发送数据,而服务器端在accept之后就关闭了连接。通过在服务器端accept成功之后调用close(fd)模仿这种情形。UNP的5.13节说客户端在第二次发送数据时会接收到第一次发送数据时服务器端返回的RST从而导致内核发出SIGPIPE信号。于是我在客户端程序中使用signal(SIGPIPE, sig_pipe)捕捉SIGPIPE信号,程序调试时证明UNP说得没错。但在运行状态
原创
2011-05-23 09:06:00 ·
372 阅读 ·
0 评论