首页 > 解决方案 > Simple-websocket-server select() 到 pool()/epool() 的转换

问题描述

对于它自己的设计,Unix select()调用最多可以处理 1024 个 FD,不管 ulimit 说什么。从手册页:

警告:select() 只能监视小于 FD_SETSIZE (1024) 的文件描述符数——对于许多现代应用程序来说,这是一个不合理的下限——并且这个限制不会改变。所有现代应用程序都应该使用 poll(2) 或 epoll(7),它们不受此限制。

因此,正因为如此,超过 1024 个连接 select() 使 websocket 崩溃。它可以在 pool() 或 epool() 中转换吗?

这是包:https://pypi.org/project/simple-websocket-server/#files 这是代码./simple_websocket_server/__init__.pyselect() 调用

标签: pythonselectpoolulimit

解决方案


推荐阅读