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 回答