【发布时间】:2021-05-18 14:50:58
【问题描述】:
根据我对这段代码的理解:
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
port = 45671
server_socket.bind(("localhost", port))
server_socket.listen(2) #focus on this line
是否只有两个客户端可以与socket_server建立连接。
但是,我可以连接两个以上的客户端。
部分客户端代码:
HOST = 'localhost'
PORT = 45671
BUFSIZ = 1024
ADDR = (HOST,PORT)
client_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_sock.connect(ADDR)
*Server 与选择库一起使用,在我看来这不是问题...
如何限制客户端与服务器的连接数?
【问题讨论】:
-
listen()似乎有明确的记录:它指定了系统在拒绝新连接之前允许的未接受连接的数量。如果您想限制同时连接的数量,您可以计算当前打开的连接数量,并根据您的需要采取多种操作:一旦您的限制达到,您可以简单地停止accept()-ing 任何更多连接到达;您也可以完全关闭服务器套接字。取决于你的行为。
标签: python sockets select client-server