繁体   English   中英

Python中的最大TCP连接数?

[英]Maximum number of TCP connections in 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] 无法对套接字执行操作,因为系统缺少足够的缓冲区空间或队列已满

那么我该如何解决它并最大化连接?

检查框的ulimitquota以及运行脚本的用户。 /etc/security/limits.conf也可能包含您可能想要修改的资源限制。

尝试运行ulimit -s unlimited

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


一些手册页和参考链接:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM