欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決time_wait強制關(guān)閉socket

 更新時間:2007年12月11日 21:24:53   作者:  
解決time_wait
今天我在測試代碼的時候,邊開邊看電影,服務(wù)端的CPU消耗和內(nèi)存使用讓我挺滿意的

可是過了一會,在統(tǒng)計達到了一定連接后,后來連接很多無法登陸。象上公交車,擁

擠不堪無法上車,用netstat -an查看了下連接狀態(tài),time_wait狀態(tài)的端口非常多

原因就在此了,消耗完系統(tǒng)的端口數(shù),服務(wù)端將就無法接收新連接,找到問題就來說明

time_wait,這個東西默認存活時間為2分鐘,夠長的,這點很要命,更多的大家百度下

對付這個問題,我寫了一個函數(shù),強制關(guān)閉socket,代碼環(huán)境{delphi7+windows xp}
PS:只會點pascal,其他不熟。

function ForceCloseSocket(DestSock:TSocket):Boolean;
var
  NoWait:Boolean;
  NLinger:Tlinger;
begin
  Result:=False;
  NoWait:=False;
  if SetSockOpt(DestSock,SOL_SOCKET,SO_DONTLINGER,@NoWait,sizeOf(Boolean))=SOCKET_ERROR then
    Result:=False;
  NLinger.l_onoff:=1;
  NLinger.l_linger:=0;  
  if SetSockOpt(DestSock,SOL_SOCKET,SO_LINGER,@NLinger,sizeOf(NLinger))=SOCKET_ERROR then
    Result:=False else Result:=True;
  if CloseSocket(DestSock)=SOCKET_ERROR then Result:=Flase else Result:=True;
end;

Dz編輯器真是頭大,麻煩,這個是強制關(guān)閉函數(shù),一點心得,與大家分享下,歡迎PM消息批評指正。

相關(guān)文章

最新評論