我的服务器如下: -
class MyServerProtocol(WebSocketServerProtocol):
def onConnect(self, request):
print("Client connecting: {0}".format(request.peer))
def onOpen(self):
print("WebSocket connection open.")
def onMessage(self, payload, isBinary):
self.sendMessage(payload, isBinary)
def onClose(self, wasClean, code, reason):
print("WebSocket connection closed: {0}".format(reason))
上面的代码收到消息并回复相同的消息。但是,我的用例不同。
我正在处理一些数据,将其存储到数据库中,然后最终想要将数据发送到连接的客户端,或者将一种数据发送到特定的连接客户端集,将另一种类型发送到另一个客户端。
我该怎么办?如何在课堂外调用sendMessage
功能?
答案 0 :(得分:0)
您需要继承WebSocketServerFactory
以跟踪您的连接。
看一下这个example,它将所有打开的连接存储在一个列表中并广播给所有这些连接。您可以轻松地调整它以向特定客户发送特定消息。
答案 1 :(得分:0)
您确定不想只使用WAMP而不是原始WebSockets吗?
这可能对您的用例来说更容易,因为“向感兴趣的客户广播信息”正是发布/订阅模式的用途。