控制python套接字的排队连接



我是python套接字的初学者。我正在编程一个TCP套接字,它从同一个客户端接收数据。问题是,我无法控制客户端,它会不断发送数据,但我想接收第一个连接,并忽略套接字在一段时间内接收到的排队连接。在这段时间之后,我的套接字再次开始接收连接。

我已经编码了这个:

socket_tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket_tcp.bind((host, port)) 
socket_tcp.listen(5) 
count = 0
while True:
conn, addr = socket_tcp.accept()
print('successful connection')
file = r'C:Usersfolder' + str(count) + '.json'
count += 1
with open(file, "wb") as f:        
chunk = conn.recv(BUFFER_SIZE)
while chunk:
f.write(chunk)
chunk = conn.recv(BUFFER_SIZE)
conn.close()

Python的select((函数是一种可能的方法吗?

根据python socket.listen((的文档您可以将值设置为0,如下所示:

socket_tcp.listen(0) 

如果您的服务器套接字已经建立了连接,那么这将丢弃所有新连接,并且当连接关闭时,您的服务器socket将再次开始接受连接。

相关内容

最新更新