问题内容
我正在尝试创建连接到同一 websocket 服务器(go 服务器)的客户端池,以测试性能和处理即将到来的请求的能力。
例如,我想知道如何才能达到 100k 客户端,因为我看到当我达到 28233 个 gorilla 客户端(websocket 客户端)时,程序无法创建更多。
我收到以下错误
tcp 127.0.0.1:8000: connect: cannot assign requested address
提前致谢
正确答案
从 127.0.0.1 到 127.0.0.1:8000 不能有 100k 个并行客户端连接。这些并行客户端连接中的每一个都必须具有不同的源端口(否则就不是不同的连接),并且只有 64k 源端口可用。实际上,数量甚至更少,因为系统会从临时端口 甚至更少(取决于操作系统和配置)。
如果系统无法选择未被另一个连接使用的唯一源端口到相同的目标 IP 和端口,那么您将收到“无法分配请求的地址”。
如果您想支持更多并行连接,您需要更改连接的其他参数,而不仅仅是源端口。通常,这是通过不使用单个服务器套接字而是使用多个侦听不同端口的套接字来完成的。
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » 我的本地主机上的 websocket 连接数不能超过 28233 个(用于压力测试)| Go 客户端(大猩猩)
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » 我的本地主机上的 websocket 连接数不能超过 28233 个(用于压力测试)| Go 客户端(大猩猩)