如果客户端必须使用绑定端口,
那么在关闭的时候,会经历TIME_WAIT的过程,一般windows下是2分钟,这段时间,客户端connect的时候,会出错(WSAEADDRINUSE:10048),
怎么不经历这个状态呢?
使用下面代码:
// 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经历TIME_WAIT的过程:
BOOL bDontLinger = FALSE;
if (setsockopt(s,SOL_SOCKET,SO_DONTLINGER,(const char*)&bDontLinger,sizeof(BOOL))< 0) {
wsaperror("setsockopt");
break;
}