
而这个close发起tcp连接断开时的四次握手。
就这个例子来说
第一次:服务端发FIN给客户端。而这个FIN表示服务端已经没有数据要发送了。
第二次:客户端接受FIN后,由系统的tcp/ip协议栈自动发送ack给客户端。表示我余悄档知道你没有数据要给我了。
第三次:客户端应用程序执运局行close。这个是进程自己控制的。跟第一次的意义一样(我也没有数据发送了)。
第四次:服务器端发ack给客户端表示确认。
上面的步骤就说明了。在客户端执行第二步以后。是可以给服务端发数据的。具竖乱体这些数据能不能正常被处理要依赖于具体的实现。
详细的细节你可以参考《unix网络编程》2.5节TCP连接的建立和终止
方案一:将你的socket进程加到守护进程(daemon)里面,尽量提高该进程的优先级方案二并并:或逗态者写个脚本自动判断socket进程僵掉了就自动重启,并将该进程加到守护进程里面绝指迹
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)