我试图使池的客户端连接到同一个WebSocket服务器(去服务器),以测试性能和处理未来的请求的能力。我想知道我如何才能达到100K客户端为例,因为我看到当我达到28233大猩猩客户端(WebSocket客户端),程序不能使更多.我收到以下错误
tcp 127.0.0.1:8000: connect: cannot assign requested address
先谢了
cbjzeqam1#
从www.example.com到127.0.0.1:8000不能有100k个并行客户机连接127.0.0.1。每个并行客户机连接都必须有不同的源端口(否则就不是不同的连接),并且只有64k个源端口可用。实际上,源端口更少,因为系统将从更少的临时端口范围中随机选择端口(取决于操作系统和配置)。如果系统无法选择到相同目标IP和端口的另一个连接未使用的唯一源端口,则会出现“无法分配请求的地址”。如果你想支持更多的并行连接,你需要改变连接的其他参数,而不仅仅是源端口。通常,这是通过使用多个套接字监听不同的端口来实现的。
1条答案
按热度按时间cbjzeqam1#
从www.example.com到127.0.0.1:8000不能有100k个并行客户机连接127.0.0.1。每个并行客户机连接都必须有不同的源端口(否则就不是不同的连接),并且只有64k个源端口可用。实际上,源端口更少,因为系统将从更少的临时端口范围中随机选择端口(取决于操作系统和配置)。
如果系统无法选择到相同目标IP和端口的另一个连接未使用的唯一源端口,则会出现“无法分配请求的地址”。
如果你想支持更多的并行连接,你需要改变连接的其他参数,而不仅仅是源端口。通常,这是通过使用多个套接字监听不同的端口来实现的。