1. 程式人生 > >如何修改windows Socket埠預設5000限制

如何修改windows Socket埠預設5000限制

如何增加開啟埠的數量呢
  www.2cto.com  
SOCKET.close()是不馬上釋放連線的,而是設定為TIME_WAIT狀態,這個時間預設是240S,也就是4分鐘。這太長了,有30秒(最小值)就可以了。在修改這個預設值的時候,還發現這臺機器並沒有開啟大埠服務,也就是高於5000的埠。這也是會出現“系統缺乏足夠緩衝區空間或者因為佇列已滿無法執行套接字上操作”錯誤的!而那WEB服務就是配置到1萬以上埠的!趕緊,操作方法如下:
 
1. 啟動登錄檔編輯器。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
2. 新建
 
值名稱:MaxUserPort
值型別: DWORD
值資料: 65534(用十進位制的方法寫進去就可以,如果是十六進位制,是FFFE,因為4個F是65535嘛)  www.2cto.com  
有效範圍: 5000 - 65534 (十進位制)
預設: 0x1388 5000 (十進位制)
 
新建
 
值名稱:TCPTimedWaitDelay
值型別: DWORD
值資料: 0000001e(也就是30,不行可以用WINDOWS計算器,很方便,這個表示TIME_WAIT的秒數)
 
OK!

可以用一下命令檢視是否需要修改預設限制數:

nestat -ant > c:\log