我用recv的返回值等于0检查,好像没有用。
quick(我追) ( )
客户端执行了closesocket(),服务端怎么知道啊,谁给实例一下
------------------------------------------------------------
是服务端从recv()的结果得到,SOCKET_ERROR.GetLastError()=10054。
如果是网线断开,send()应该还是成功的,注意:此时,netstat -an命令看到的这条链路可能还是“建立”状态。但send()实际并未发出东东,你当然就不会收到回应了,然后,超时closesocket()。
打错了,应该是检查是否为SOCKET_INVALID
1.c/s下,在CLIENT中如果用户退出了应用程序,SERVER中使用Select可得到对方socket 关闭消息
2.物理连接断开,SERVER 想知道CLIENT是否断开,使用所谓的心跳包可以实现