Discuss / Python / 求大神解释一下 listen

求大神解释一下 listen

Topic source

viper1090

#1 Created at ... [Delete] [Delete and Lock User]

文中‘listen’说明是‘指定等待连接的最大数量’, 1、我这边实际上为了模拟不同的客户端,将tcp_server的listen(5),改为listen(1),预想的是这三个tcp_client是一次执行的 2、开启了3个tcp_client窗口,然后向tcp_server发送请求。 3、结果,tcp_client并没有依次执行,在第一个client没有close的情况下,第二个和第三个client都得到了服务端的响应。 所以,很迷呀。希望得到解答。

Gzff1237852

#2 Created at ... [Delete] [Delete and Lock User]

这个应该和操作系统有关系,linux 下不管listen 中的数是多少,这个值是由系统分配的。mac下貌似是写多少就是多少

Morch丶Yang

#3 Created at ... [Delete] [Delete and Lock User]

Python的socket模块估计就是对Unix网络库的封装。 原函数头:int listen(int sockfd, int backlog); Python中listen函数中的n就是backlog的值,它代表等待建立连接队列缓冲区的最大大小(并不是已连接队列大小);连接建立完成就放入已连接队列。 具体参考《Unix网络编程》


  • 1

Reply