如果客戶端必須使用綁定端口,
那么在關閉的時候,會經(jīng)歷TIME_WAIT的過程,一般windows下是2分鐘,這段時間,客戶端connect的時候,會出錯(WSAEADDRINUSE:10048),
怎么不經(jīng)歷這個狀態(tài)呢?
使用下面代碼:
// 如果要已經(jīng)處于連接狀態(tài)的soket在調用closesocket后強制關閉,不經(jīng)歷TIME_WAIT的過程:
BOOL bDontLinger = FALSE;
if (setsockopt(s,SOL_SOCKET,SO_DONTLINGER,(const char*)&bDontLinger,sizeof(BOOL))< 0) {
wsaperror("setsockopt");
break;
}