如何修改windows Socket埠預設5000限制
阿新 • • 發佈:2019-02-07
如何增加開啟埠的數量呢
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
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!
可以用一下命令檢視是否需要修改預設限制數: