[win32] Winsock 中应使用 DisconnectEx 关闭连接

在 maillist 上看到一则讯息,使用 closesocket() 只是让 OS 回收你的 socket,其实并没有给对方(peer)发送 FIN。因此对方(peer)在下次 recv() 的时候,会收到 "reset by peer" 的错误。

而要主动给对方(peer)发送 FIN,要使用 DisconnectEx() 函数。而 MSDN 告知,DisconnectEx() 函数居然需要 XP, Server 2003 的支持,真是汗,98, 2000 的系统是是如何个活法?

你可能感兴趣的:([win32] Winsock 中应使用 DisconnectEx 关闭连接)