编写socket程序要注意的问题
2015-03-02 11:44
323 查看
一,正常终止情况下
二,accept返回前连接终止
三,服务器进程终止
服务器终止时,发送FIN,而客户端接收FIN,返回ACK,这时客户端可以再写数据到服务器,而服务器返回RST,这时如果客户端再次写数据到服务器端,将导致引发SIGPIPE信号
四,服务器主机崩溃
当服务器主机崩溃时,它并不发送任何东西,客户端只有在重传失败后才能知晓服务器崩溃,这需要很长的时间
五,服务器崩溃后重启
1,认清被中断的系统调用,并正确处理它们。 2,在编写并发程序时,记得处理好僵死进程。(可对SIGCHLD信号进行处理) 3,wait函数不能正确处理多个子进程同时终止的情况,因为当多个SIGCHLD信号同时到达时,wait只能处理一个,这时可使用waitpid函数,如下指定WNOHANG参数,使waitpid不阻塞
二,accept返回前连接终止
三,服务器进程终止
服务器终止时,发送FIN,而客户端接收FIN,返回ACK,这时客户端可以再写数据到服务器,而服务器返回RST,这时如果客户端再次写数据到服务器端,将导致引发SIGPIPE信号
四,服务器主机崩溃
当服务器主机崩溃时,它并不发送任何东西,客户端只有在重传失败后才能知晓服务器崩溃,这需要很长的时间
五,服务器崩溃后重启
相关文章推荐
- c#程序调用c++编写dll需要注意问题
- 编写网络程序应该注意的几个问题
- 编写多线程java程序时需要注意哪些问题?(来自于effective java se)
- 内核开发知识第二讲,编写Kerner 程序中注意的问题.
- 定义一个结构体变量(包括年、月、日),编写程序,要求输入年月日,程序能够计算并输出改日是本年中的第几天。注意闰年问题。(switch语句)
- VS2013编写socket程序一点问题
- 关于编写QT国际化程序中需要注意的问题
- 编写网络程序应该注意的几个问题
- 用编译原理编写计算器程序中需要注意的问题
- 程序——在DispatchAction中定义多业务编写中的问题及注意事项
- 用VS2010编写的C++程序,在其他电脑上无法运行,提示缺少mfc100.dll的解决办法 vc链接静态库的时候要注意的问题
- c#程序调用c++编写dll需要注意问题
- 编写第一个程序应注意的问题
- c#程序调用c++编写dll需要注意问题
- 定义一个结构体变量(包括年、月、日),编写程序,要求输入年月日,程序能够计算并输出改日是本年中的第几天。注意闰年问题。(数组)
- Editplus编写java程序需要注意的问题。
- 在VC++2005 MFC Unicode下编写网络程序需要注意的问题
- 利用Delphi编写Socket通信程序
- unix下编写socket程序的一般步骤
- 用程序给生成的Excel中添加公式时注意的问题.