我编写了一个Java应用程序,它与AWS上托管的3rd-party server进行通信。根据我读过的内容,他们的REST API没有连接限制,但无论我尝试使用多少线程,我都看到了64个传出连接的限制。
我的客户端是用Java编写的,在Windows 10下运行。这个数字有点像故意限制,但我无法找到任何特定于上述环境的文档限制。
我尝试将我的应用程序指向https://test.com/
,并限制了128个传出连接,这让我相信限制是服务器端。
如何确定(从客户端)传出连接是否受到服务器端的限制?(我尝试netstat -an
但我只看到了{{} 1}}连接)
看到我的应用程序没有从服务器收到任何连接失败,他们是否可能故意隐瞒SYN-ACK responses,直到旧连接关闭?
答案 0 :(得分:0)
我很确定没有可靠的方法从客户端告诉传出连接被限制为什么(如果可能的话,这对我来说似乎是一个安全问题)。
至于限制是什么,我认为从服务器本身确定也是一件困难的事情(除非它是在某个下限配置的),因为可能会有很多变量,比如几乎所有的东西,来自amount of memory, ports, CPU on the machine you are connected to, from and every single one in between.
64和128对我来说似乎不是人类限制,而是限制内部的东西,因为它是2的幂。