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