在电脑上长时间跑自动化任务,有可能会出现 "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
当在调用接口时,使用命令行工具netstat -n
发现有将近4000个到运行接口的目标计算机的IP地址的连接处于TIME_WAIT
状态,则可以增加默认MaxUserPort
设置并同时降低TcpTimedWaitDelay
设置,以便不会用尽客户端匿名端口。例如,您可以将MaxUserPort
设置为20000,将TcpTimedWaitDelay
设置为30。
较低的 TcpTimedWaitDelay
设置意味着套接字在TIME_WAIT
状态中等待的时间更短。较高的 MaxUserPort
设置意味着您可以让更多的套接字处于 TIME_WAIT
状态。
为了保证客户端稳定性,可以在一段时间内重启客户端。
调用本地端口API,GET请求这个地址(无请求参数),就可以重启并自动登陆VMLogin客户端
http://127.0.0.1:35000/api/v1/client/restart