http://www.douban.com/note/337457460/?type=like
listen里有个参数backlog是指定tcpsever可以同时接受多少个客服端的连接申请,当超过此数时server将拒绝客户端的连接申请,给出socket.error: [Errno 10061]错误。
tcp的server尽管可以同时接受n个客服端连接,但只能和第一个连接的客服端互相通信,当第一个tcp连接的客户端关闭后才能和第二个连接申请的客户端通信,即后边的被阻塞了,一次只能和一个tcp客户端进行通信。
ocket.listen( backlog )
backlog指定最多允许多少个客户连接到服务器。它的值至少为1。收到连接请求后,这些请求需要排队,如果队列满,就拒绝请求。
backlog应该理解为阻塞队列的长度,总共与服务器连接的客户端一共有 backlog + 1 个。
阻塞队列FIFO,当连接客户端结束后阻塞队列里的第一个客服端与服务器连接成功。
tcp的server尽管可以同时接受n个客服端连接,但只能和第一个连接的客服端互相通信,当第一个tcp连接的客户端关闭后才能和第二个连接申请的客户端通信,即后边的被阻塞了,一次只能和一个tcp客户端进行通信。
ocket.listen( backlog )
backlog指定最多允许多少个客户连接到服务器。它的值至少为1。收到连接请求后,这些请求需要排队,如果队列满,就拒绝请求。
backlog应该理解为阻塞队列的长度,总共与服务器连接的客户端一共有 backlog + 1 个。
阻塞队列FIFO,当连接客户端结束后阻塞队列里的第一个客服端与服务器连接成功。