0

複数の接続を可能にするプログラムを作成しようとしています。サーバーオペレーターは、接続されているすべてのクライアントにメッセージを送信できます。単純なスレッドを使用して複数の接続を許可する問題を解決しました。問題は、接続されているすべてのクライアントにメッセージが一度に送信されないことです。メッセージを複数回送信して、すべてのクライアントに送信する必要があります。

def send(add, conn, port, s):
    while True:       
        message = raw_input("Message: ")
        add.send(message)

def server(port):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind(('', port))
    s.listen(10))
    print "Waiting for connections..."
    while True:        
        a,b = s.accept()
        print b, "connected"
        connections.append(b)
        thread = threading.Thread(target=send, args=(a, b, port, s))
        thread.start()
        threads.append(thread)
4

1 に答える 1

1

これがTCPの仕組みです。放送設備はありません。接続されている複数のクライアントに同じメッセージを送信する必要がある場合は、ソケットごとに送信する必要があります。

于 2012-07-25T18:31:15.937 に答える