嗨,我做了一个windows 10应用程序。它通常使用IIS Hostable Web Core在内部承载网站。该应用程序使用Asp.Net、Web、OData和SignalR连接到本地网络中的设备。
应用程序应该能够同时连接到至少300个设备。在窗口系统中,我已经达到了最大连接限制。目前,我能够连接到最多10个设备上的windows PRO系统。
在阅读有关这个问题的文章时,我看到许多文章指出,HTTP.sys是一个内部窗口驱动程序,负责这个连接限制。这意味着,如果我可以绕过http.sys,我就可以绕过最大连接限制。
有两个地方可以让我得到帮助
作为.net代码的服务器,我需要将整个代码更新为.net 1.0核心,这不是一个非常可行的解决方案
edje.js是一个开放源码项目,允许我在高速公路中运行自己的应用程序,它有自己的http堆栈,因此不使用http.sys,因此不受窗口强制的连接限制。
我的问题是,没有更多的帮助,任何其他地方。如果iam能够让它使用高速公路作为自己的服务器来工作,那么它就能够绕过连接限制,这是正确的吗?
发布于 2022-05-09 07:33:59
您可能达到了Windows套接字限制(不同于HTTP)。来自以下网站:https://docs.uptimesoftware.com/display/KB/Increasing+Windows+TCP+socket+limits
若要增加Windows套接字限制并允许更快地释放套接字,请使用regedit在Windows注册表中创建2个键。 在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters,中创建以下两个DWORD值: MaxUserPort:此值将增加动态分配给客户端的临时端口数。将值设置为介于5000到65534之间的任何小数点。更高的计数将允许更多并发套接字可用于正常运行时基础设施监视器。 TcpTimedWaitDelay:此值将减少连接关闭时处于TIME_WAIT状态的时间长度。当连接处于TIME_WAIT状态时,不能重用套接字对.较低的值允许更快地释放套接字,以便由正常运行时基础设施监视器重新使用。将值设置为30到240之间的十进制数。请注意,要使系统更改生效,需要重新启动计算机。有关更多信息,请参考Microsoft网站上避免TCP/IP端口耗尽的内容。
https://stackoverflow.com/questions/38832351
复制相似问题