您的位置:首页 > 其它

编写socket程序要注意的问题

2015-03-02 11:44 323 查看
一,正常终止情况下

1,认清被中断的系统调用,并正确处理它们。
2,在编写并发程序时,记得处理好僵死进程。(可对SIGCHLD信号进行处理)
3,wait函数不能正确处理多个子进程同时终止的情况,因为当多个SIGCHLD信号同时到达时,wait只能处理一个,这时可使用waitpid函数,如下指定WNOHANG参数,使waitpid不阻塞




二,accept返回前连接终止





三,服务器进程终止

服务器终止时,发送FIN,而客户端接收FIN,返回ACK,这时客户端可以再写数据到服务器,而服务器返回RST,这时如果客户端再次写数据到服务器端,将导致引发SIGPIPE信号



四,服务器主机崩溃

当服务器主机崩溃时,它并不发送任何东西,客户端只有在重传失败后才能知晓服务器崩溃,这需要很长的时间



五,服务器崩溃后重启

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  socket