假设我有以下代码:
import socket
listener = socket.socket()
listener.bind(('0.0.0.0', 59535))
while True:
conn, addr = listener.accept()
worker_thread = threading.Thread(target=client_handler, args=(conn, addr,)).start()
如果新客户端在我们创建工作线程时尝试连接到我们的侦听器套接字会发生什么?他会等待接下来的接听电话还是会被拒绝?如果他等待,默认情况下同时有多少客户端可以同时进入该队列(是的,我知道我可以通过listen
函数设置它)?
答案 0 :(得分:2)
内核中有一个侦听队列,因此内核将处理新客户端,而用户空间部分则执行其他操作。如果内核中的侦听队列已满,则不会再接受任何客户端,即连接将失败。