class ChatWebSocket(tornado.websocket.WebSocketHandler):
clients = []
def open(self):
ChatWebSocket.clients.append(self)
self.write_message(self)
def on_message(self, message):
print(self)
self.write_message('{"a":"SDF"}')
def on_close(self):
ChatWebSocket.clients.remove(self)
我想在json中转换self对象并将其发送给客户端,以便我可以识别请求on_message
并将消息传递给适当的客户端。
其实你做错了什么。您不需要将self转换为json并将其发送给客户端。ChatWebSocket的每个实例都有关于其ws-connection的信息。因此方法write_message
将消息发送到相应的客户端。
def write_message(self, message, binary=False):
if isinstance(message, dict):
message = tornado.escape.json_encode(message)
self.ws_connection.write_message(message, binary=binary)