不能连接到本地主机上的MySQL服务器(10048)解决问题的方
错误的原因:
应用程序需要快速释放和创建新的连接,但由于time_wait连接超过默认值,会导致较低的吞吐量。
解决方案:
两个Windows注册表项,这个错误密切相关:TcpTimedWaitDelay MaxUserPort值。
TCP / IP TCPTimedWaitDelay释放有着密切的联系和资源的再利用,必须关闭和释放时间。已知的time_wait或两次生命周期的最大周期之间的时间间隔(2msl)。在此期间,不到重新打开客户端和服务器连接的成本,建立一个新的连接。此项的值允许TCP/IP快速释放已关闭的连接,以便为新连接提供更多资源。
MaxUserPort确定与从系统中任何可用的用户端口的请求端口的最大数量,TCP / IP可以指定最高的端口号。如果TCP连接建立的最大端口连接大于5000时,应对以下错误消息WSAENOBUFS本地计算机(10055):由于系统缺乏足够的缓冲或因为队列已满,无法对一个套接字执行操作。这导致应用程序中的10048个错误。
打开注册表编辑器注册表编辑器
TcpTimedWaitDelay设置:
找到hkey_local_machine 系统 CurrentControlSet 服务 TCPIP 参数注册表子项
并创建一个新的reg_dword值叫TcpTimedWaitDelay
将此值设置为十进制的30,和十六是0x0000001e
值等待时间将为30秒。
此项的默认值:0xf0(16),和等待时间设置为240秒
MaxUserPort设置(增加最大端口连接):
找到hkey_local_machine 系统 CurrentControlSet 服务 TCPIP 参数注册表子项
并创建一个新的reg_dword值命名为MaxUserPort
将此值设置为十进制中最小值为32768。
值等待时间将为30秒。
重新启动Windows系统。
此项的默认值:5000(十进制)
关闭注册表编辑器并重新启动Windows系统。