1

特定のサイトのホストを返す関数があります。これら2つの関数を使用して

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 ループで作成された最後のソケットのみが保持されます。そのソケットからのソケット recv データがハンドラーに渡され、情報が解析されます。基本的に私が求めているのは、for ループで作成された各ソケットからの接続を維持し、recv 情報をハンドラーに渡す方法です。ハンドラーは event_data() であり、event_data 関数では、解析するデータは data = self.sockets.recv(1024) によって定義されます。問題は、for ループからの最後のソケットのみが処理されるために残っていることです。

4

2 に答える 2

1

辞書に載せてください。そうすれば、後で好きなように簡単に調べることができます。

于 2013-08-24T02:34:28.880 に答える