Python中的最大TCP连接数?

2024-10-01 15:37:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我在本地主机上用Python工作。我写了一个原始服务器只读取TCP套接字,比如在端口50001。在

然后我尝试了最大客户端连接:

def rawMultiConn(threadnum = 10000):
    g_event = threading.Event()
    def threadfn():
        sockets = [socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                   for i in range(threadnum)]
        for s in sockets:
            s.connect(('localhost', SERVER_PORT))
        g_event.wait()
        for s in sockets: s.close()

    t = threading.Thread(target = threadfn)
    t.start()
    g_event.set()
    t.join()

但在大约3000个连接之后,出现异常:

[Errno 10055] An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full

那么我如何解决它并最大限度地连接呢?在


Tags: 端口in服务器event客户端fordefsocket
1条回答
网友
1楼 · 发布于 2024-10-01 15:37:14

检查ulimit和{}中的框和运行脚本的用户。/etc/security/limits.conf还可能包含您可能要修改的资源限制。在

尝试运行ulimit -s unlimited。在

另外,ulimit -n将显示允许打开的文件描述符/套接字的最大数量。这可能也需要修改。在


一些手册页和参考链接:

相关问题 更多 >

    热门问题