IOCP 与 keepalive问题
_船长_ 2015-07-31 03:18:35 为了检测客户端的异常掉线,比如说网络中断或者客户机崩溃,设置了TCP套接字的keepalive属性,实际中发现,当客户端强退时,GetQueuedCompletionStatus函数返回false,错误码为64(对端强退),但是如果客户端网络断掉时,服务器这边GetQueuedCompletionStatus函数是没有返回的,PS:当客户端连接进来后,我调用了WSARecv函数,既然如此,那客户端网络断掉时,GetQueuedCompletionStatus肯定会返回WSARecv错误,但实际就是没有返回,因此,对于网络断掉情况,就无法检测出,
我的系统是WIN7 64位,程序是32位的,
希望高人指点下啊