【Microsoft 支持】【数据库-MySql】当您尝试从大于 5000 的 TCP 端口连接时收到错误 WSAENOBUFS (10055)

一、转载原文

When you try to connect from TCP ports greater than 5000 you receive the error 'WSAENOBUFS (10055)'

Symptoms

If you try to set up TCP connections from ports that are greater than 5000, the local computer responds with the following WSAENOBUFS (10055) error message:

An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.

Resolution

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:

322756 How to back up and restore the registry in Windows

The default maximum number of ephemeral TCP ports is 5000 in the products that are included in the "Applies to" section. A new parameter has been added in these products. To increase the maximum number of ephemeral ports, follow these steps:

  1. Start Registry Editor.
  2. Locate the following subkey in the registry, and then click Parameters:
regpath 复制代码
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  1. On the Edit menu, click New, and then add the following registry entry:
    Value Name : MaxUserPort
    Value Type : DWORD
    Value data : 65534
    Valid Range : 5000-65534 (decimal)
    Default : 0x1388 (5000 decimal)
    Description: This parameter controls the maximum port number that is used when a program requests any available user port from the system. Typically, ephemeral (short-lived) ports are allocated between the values of 1024 and 5000 inclusive. After the release of security bulletin MS08-037, the behavior of Windows Server 2003 was changed to more closely match that of Windows Server 2008 and Windows Vista. For more information about Microsoft security bulletin MS08-037, click the following article numbers to view the articles in the Microsoft Knowledge Base:


951746 MS08-037: Description of the security update for DNS in Windows Server 2008, in Windows Server 2003, and in Windows 2000 Server (DNS server-side): July 8, 2008

​​
951748 MS08-037: Description of the security update for DNS in Windows Server 2003, in Windows XP, and in Windows 2000 Server (client side): July 8, 2008


953230 MS08-037: Vulnerabilities in DNS could allow spoofing

  1. Exit Registry Editor, and then restart the computer.
    Note An additional TCPTimedWaitDelay registry parameter determines how long a closed port waits until the closed port can be reused.

二、转载译文(译文可能有误,请参考转载原文)

当您尝试从大于 5000 的 TCP 端口连接时收到错误 WSAENOBUFS (10055)

症状


如果您尝试从大于 5000 的端口 TCP 连接设置,本地计算机响应以下 WSAENOBUFS (10055) 错误消息:

由于系统缓冲区空间不足,或者因为队列已满,不能执行套接字上的操作。

解决方案


重要:此部分、 方法或任务包含一些介绍如何修改注册表的步骤。但是,如果不正确地修改了注册表,可能会出现严重的问题。因此,请确保仔细按照下列步骤操作。为增加保护,对其进行修改之前备份注册表。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

322756 在 Windows 中 如何备份和还原注册表

在包含在"适用范围"部分的产品中,临时TCP端口的默认最大数量为5000。在这些产品中添加了一个新的参数。要增加临时端口的最大数量,请按照以下步骤操作:

  1. 启动注册表编辑器。
  2. 在注册表中,找到以下注册表子项,然后单击参数:
regpath 复制代码
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  1. 在编辑菜单上,单击新建,然后添加以下注册表项:
  • 值的名称: MaxUserPort
  • 值类型: REG_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 服务器 (DNS 服务器端) 中的 DNS 安全更新的说明: 2008 年 7 月 8 日

951748 MS08-037: Windows Server 2003 中,在 Windows XP 和 Windows 2000 服务器 (客户端) 中的 DNS 安全更新的说明: 2008 年 7 月 8 日

953230 MS08-037: 在 DNS 中的漏洞可能允许欺骗

  1. 退出注册表编辑器,然后重新启动计算机。
    注意 :一个附加的 TCPTimedWaitDelay 注册表参数确定多长时间关闭的端口将等待,直到关闭的端口可以重复使用,一般设置为30


相关推荐
倔强的石头_32 分钟前
【金仓数据库】ksql 指南(四) —— 创建与管理表(KingbaseES 数据存储核心)
数据库
赵渝强老师34 分钟前
【赵渝强老师】TiDB PD集群存储的信息
数据库·mysql·tidb
老纪的技术唠嗑局1 小时前
分库分表MyCat 架构迁移 OceanBase | 百丽核心财务系统迁移经验总结与问题汇总
数据库·架构·oceanbase
IT教程资源C2 小时前
(N_158)基于微信小程序学生社团管理系统
mysql·vue3·前后端分离·社团小程序·springboot社团小程序
xrkhy7 小时前
微服务之ShardingSphere
数据库·微服务·oracle
JIngJaneIL7 小时前
停车场管理|停车预约管理|基于Springboot的停车场管理系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·后端·论文·毕设·停车场管理系统
煎蛋学姐7 小时前
SSM儿童福利院管理系统ys9w2d07(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·ssm 框架·儿童福利院管理系统
sg_knight7 小时前
MySQL 空间索引(SPATIAL)详解:地理位置数据的高效查询利器
数据库·mysql·database·索引·关系型数据库·空间索引·spatial
梦子yumeko9 小时前
第五章Langchain4j之基于内存和redis实现聊天持久化
数据库·redis·缓存
IndulgeCui9 小时前
【金仓数据库产品体验官】KSQL Developer Linux版安装使用体验
linux·运维·数据库