我有一个返回特定站点主机的函数。并使用这两个功能
def connect(self, rooms):
print('')
i = [x for x in rooms]
for x in i:
self.room_connect(x)
running = True
while running:
self.event_data()`
def room_connect(self, rooms):
host = getServer(rooms)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((host, 443))
sock.send(self.room_auth(rooms).encode())
self.sockets = sock
print(self.sockets)
print('connected to '+ rooms)
self.postbyte = True
我能够为每个主机连接到不同的套接字。问题是,我需要它来保持与它连接的每个套接字的连接。最后,只维护在 for 循环中创建的最后一个套接字。来自该套接字的套接字接收数据被传递给处理程序以解析信息。基本上我要问的是如何保持与for循环中创建的每个套接字的连接,同时将其recv信息传递给处理程序。处理程序是 event_data(),在 event_data 函数中,要解析的数据由 data = self.sockets.recv(1024) 定义。问题是for循环中唯一的最后一个套接字需要处理。