关于客户断异常断开(断电,拔网线)检测的讨论有不少,
在http://tangentsoft.net/wskfaq/newbie.html的
2.13 - How do I detect an abnormal network disconnect?
里有三种方法的说明。
这里也有不少人提出了MSG_PEEK的方法。在我做的完成端口服务器中,我希望使用KeepAlive选项。
我用WSAIoctrl设置了KeepAlive的timeout和interval都为100ms。
但是我发现我得不到对方异常断开的通知。
我是保证总是有Recv在等待的。但是相同的设置代码,如果不用完成端口,而用recv循环则可以检测到对方断开。是否完成端口没有提供这个功能?请有经验的大虾指教。