请问:socket编程中,server端如何检测到client非正常退出?
小弟在编程过程中遇到一个问题,server端fork一个子进程来处理client端的连接,如果这个client端非正常退出的时候,server端怎么能够检测到client端已经退出,并把这个子进程杀掉呢?
多谢了!在线等。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
设置心跳包检测
非正常退出的话进行IO操作也会报错的吧
if(recv(socket,buff,buffsize,0)<=0){}
setsockopt
加一个超时不就行了?
直接假释client还在。(TCP本身这么假释的)
最后需要实际联接肯定会得到没有client之类的,对应于IP找不到目的地
不保证
与TCP有关