Skip to main content
 首页 » 编程设计

python之使用 Python 向所有客户端广播 WebSocket

2024年10月25日33xxx_UU

我正在使用一个简单的基于 Python 的网络套接字应用程序:

from SimpleWebSocketServer import WebSocket, SimpleWebSocketServer 
 
class SimpleEcho(WebSocket): 
 
    def handleMessage(self): 
 
        if self.data is None: 
            self.data = '' 
 
        # echo message back to client 
        self.sendMessage(str(self.data)) 
 
    def handleConnected(self): 
        print self.address, 'connected' 
 
    def handleClose(self): 
        print self.address, 'closed' 
 
server = SimpleWebSocketServer('', 8000, SimpleEcho) 
server.serveforever() 

它会将每个客户端发送到同一个客户端的消息回显,但我正在尝试将 ws 服务器收到的任何消息发送到连接到它的所有客户端。有人可以帮帮我吗?

请您参考如下方法:

或者你可以这样做:

class SimpleEcho(WebSocket): 
 
    def handleMessage(self): 
        if self.data is None: 
            self.data = '' 
 
        for client in self.server.connections.itervalues(): 
            client.sendMessage(str(self.address[0]) + ' - ' + str(self.data)) 
 
        #echo message back to client 
        #self.sendMessage(str(self.data)) 
 
    def handleConnected(self): 
        print self.address, 'connected' 
 
    def handleClose(self): 
        print self.address, 'closed'