来自socket的unblock(非阻塞)
前言
由于普通的server-socket一次只能处理一个client-socket.
因为socket在accept等待接收和recv等待数据数据时都会阻塞, 每次处理client只能应对一个socket.
unblock code
server
# server
import socket
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.setblocking(False) # 将socket设置为非阻塞. 在创建socket对象后就进行该操作.
server.bind((socket.gethostbyname(socket.gethostname()), 4444))
server.listen(

本文介绍了Python中如何实现非阻塞socket,以解决普通服务器一次只能处理一个客户端的问题。通过非阻塞模式,服务器可以在等待接收和读取数据时避免阻塞,从而能同时处理多个客户端连接请求。
最低0.47元/天 解锁文章
1万+





