windows 网络参数设置

本文介绍如何通过修改Windows注册表中的MaxUserPort和TcpTimedWaitDelay参数来优化网络配置,解决端口耗尽及TIME_WAIT状态占用过多的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

windows网络参数的设置都在注册表: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 下

要调整网络参数,修改该位置下已有键值或新增键值。


1.  MaxUserPort

键值范围:5000 - 65534 (xp, 2003下默认5000,很难想象在2003服务器系统下也是5000,鄙视)

键值作用:设定端口号范围

                    当端口号不足时,发起socket connect连接时会报错:

                       中文:"通常每个套接字地址(协议/网络地址/端口)只允许使用一次"

                       英文:Only one usage of each socket address (protocol/network address/port) is normally permitted.


2. TcpTimedWaitDelay

键值范围:30 - 240 (单位:秒,默认值:240)

键值作用:相信很多人都遇到过犯人的"TIME_WAIT"状态,在多并发程序下容易出现将端口号耗完的情况。

                    "TIME_WAIT"状态是TCP/IP协议规定的一种套接字状态

                    一个socket连接的是两个对象:client <-----> server

                    不管是client还是server,谁先关闭套接字(调用close()),谁就会进入TIME_WAIT状态

                    这是协议规定的,不可避免的,能改变的是等待时间

                    windows下默认为3分钟,linux下默认为1分钟

                    因而在windowds下特别容易出现"TIME_WAIT"占满的情况

                    更有甚者,在win2008环境下,有个严重的bug,如果开机时间长达497天后,TIME_WAIT就永远不释放啦

                    哈哈,再次鄙视微软,这还是服务器系统么,服务器可是常年不关机的啊,

                    参考微软官网:https://support.microsoft.com/zh-cn/kb/2553549?spid=11737&sid=156

                    在服务器上,建议将该值改为60(一分钟)


参考文章:

避免TCP/IP端口耗尽: https://msdn.microsoft.com/zh-cn/library/aa560610(v=bts.10).aspx 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

duanbeibei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值