用户在电脑上长时间跑自动化任务,有可能会出现 “Failed to establish a new connection: [WinError 10048]” 通常每个套接字地址(协议/网络地址/端口)只允许使用一次的提示。
可以修改注册表项,要提升电脑的网络性能。
客户使用regedit命令访问HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/TCPIP/Parameters注册表子键并创建名为TcpTimedWaitDelay的新REG_DWORD值。将此值设置为十进制30,其为十六进制0x0000001e。该值将等待时间设置为30秒。
使用regedit命令访问HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/TCPIP/Parameters注册表子键并创建名为MaxUserPort的新REG_DWORD值。停止并重新启动系统。缺省值:无; 建议值:至少十进制 32768。
不知道怎么打开注册表的用户,可以直接新建一个TXT文档,把下面内容写入其中保存,再改这个新建的文件名为Tcpip.reg ,双击导入注册表即可:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
“TcpTimedWaitDelay”=dword:0000001e
“MaxUserPort”=dword:00008000
vmlogin当在调用接口时,使用命令行工具netstat -n发现有将近4000个到运行接口的目标计算机的IP地址的连接处于TIME_WAIT状态,则可以增加默认MaxUserPort设置并同时降低TcpTimedWaitDelay设置,以便不会用尽客户端匿名端口。例如,您可以将MaxUserPort设置为20000,将TcpTimedWaitDelay设置为30。
较低的 TcpTimedWaitDelay 设置意味着套接字在TIME_WAIT状态中等待的时间更短。较高的 MaxUserPort 设置意味着您可以让更多的套接字处于 TIME_WAIT 状态。
为了保证客户端稳定性,可以在一段时间内重启客户端。
vmlogin客户在调用本地端口API,GET请求这个地址(无请求参数),就可以重启并自动登陆VMLogin客户端
http://127.0.0.1:35000/api/v1/client/restart
当用户在电脑上长时间执行自动化任务时,可能会遇到'Failed to establish a new connection: [WinError10048]'的问题。这通常是因为套接字地址已被占用。通过修改注册表键TcpTimedWaitDelay和MaxUserPort的值,可以提升网络性能。将TcpTimedWaitDelay设置为30(十进制),MaxUserPort设置为32768(十进制),以减少TIME_WAIT状态的连接并增加可用端口数量。如果需要,可以通过创建Tcpip.reg文件并导入来快速设置这些值。此外,若遇到大量TIME_WAIT连接,可进一步调整这两个值以避免端口耗尽,并在必要时重启客户端以保持稳定。
405

被折叠的 条评论
为什么被折叠?



