當您嘗試從大於 5000 的 TCP 連接埠連線時,收到錯誤 「WSAENOBUFS (10055) 」。

本文有助於修正當您嘗試從大於 5000 的 TCP 連接埠連線時,「WSAENOBUFS (10055) 」錯誤。

適用於:Windows Server 2012 R2、Windows 10 - 所有版本
原始 KB 編號: 196271

徵狀

如果您嘗試從大於 5000 的埠設定 TCP 連線,本機計算機會回應下列 WSAENOBUFS (10055) 錯誤訊息:

無法在套接字上執行作業,因為系統沒有足夠的緩衝區空間,或因為佇列已滿。

解決方案

重要事項

這個章節、方法或工作包含修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必謹慎地依照這些步驟執行。 為了有多一層保護,請先備份登錄再進行修改。 如此一來,您就可以在發生問題時還原登錄。 如需有關如何備份和還原登錄的詳細資訊,請按一下下列文章編號,檢視「Microsoft 知識庫」中的文章:
322756 如何在 Windows 中備份及還原登錄

在「適用於」一節中包含的產品中,預設的暫時 TCP 埠數目上限為 5000。 這些產品中已新增參數。 若要增加暫時埠的數目上限,請遵循下列步驟:

  1. 啟動 [登錄編輯程式]。

  2. 在登錄中找出下列子機碼,然後按兩下 [參數]:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  3. 在 [ 編輯] 功能表上,單擊 [ 新增],然後新增下列登錄專案:
    數值名稱:MaxUserPort
    數值類型:DWORD 值數據:65534 有效範圍:5000-65534 (十進位) 預設值:0x1388 (5000 十進位) 描述:此參數會控制程式向系統要求任何可用的使用者埠時所使用的埠號碼上限。 一般而言,暫時 (短期) 埠會配置在包含 1024 和 5000 的值之間。 在安全性布告欄 MS08-037 發行之後,Windows Server 2003 的行為已變更為更符合 Windows Server 2008 和 Windows Vista 的行為。 如需 Microsoft 安全性佈告欄 MS08-037 的詳細資訊,請按兩下列文章編號以檢視 Microsoft 知識庫中的文章:

    951746 MS08-037:Windows Server 2008、Windows Server 2003 和 Windows 2000 Server (DNS 伺服器端) 中 DNS 的安全性更新描述:2008 年 7 月 8 日

    951748 MS08-037:Windows Server 2003、Windows XP 和 Windows 2000 Server (用戶端中 DNS 的安全性更新描述) :2008 年 7 月 8 日

    953230 MS08-037: DNS 中的弱點可能會允許詐騙

  4. 結束 [登錄編輯程式],然後重新啟動電腦。

    注意事項

    額外的 TCPTimedWaitDelay 登錄參數會決定關閉的埠等待多久,直到關閉的埠可以重複使用為止。

其他相關資訊

如需相關主題的詳細資訊,請造訪下列 Microsoft 網站:

https://technet.microsoft.com/library/bb726981.aspx
如需相關主題的詳細資訊,請按下列文章編號以檢視 Microsoft 知識庫中的文章:

314053 Windows XP 的 TCP/IP 和 NBT 組態參數

X64 型版本 Microsoft Windows 的技術支援

如果您的硬體隨附的是已安裝的 Microsoft Windows x64 Edition,您的硬體廠商會為 Windows x64 Edition 提供技術支援和協助。 在此情況下,您的硬體製造商會提供支援,因為您的硬體附帶 Windows x64 Edition。 您的硬體製造商可能已使用獨特元件自訂 Windows x64 Edition 安裝。 獨特元件可能包含特定裝置驅動程式,或可能包括選用的設定,以最大化硬體效能。 如果您必須具備 Windows x64 版本的技術協助,Microsoft 將提供合理的協助。 不過,您可能必須直接與製造商連絡。 您的製造商最適合支援您廠商安裝在硬體上的軟體。 如果您另外購買了 Windows Server 2003 x64 版本等 Windows x64 版本,請連絡 Microsoft 以尋求技術支援。