【问题标题】:Tornado - Listen to multiple clients simultaneously over websocketsTornado - 通过 websockets 同时监听多个客户端
【发布时间】:2015-08-25 11:11:00
【问题描述】:
【问题讨论】:
标签:
python
python-2.7
tornado
【解决方案1】:
据我了解,您想要这样的东西:
class MyWebSocketHandler(tornado.websocket.WebSocketHandler):
# other methods
def on_message(self, message):
# do some stuff with the message that takes a long time
self.write_message(response)
每个 websocket 连接都有自己的子类 WebSocketHandler 对象。
您甚至可以保存连接并在其他地方使用它:
ws_clients = []
class MyWebSocketHandler(tornado.websocket.WebSocketHandler):
# other methods
def open(self):
if self not in ws_clients:
ws_clients.append(self)
def on_close(self):
if self in ws_clients:
ws_clients.remove(self)
def send_message_to_all(self, message):
for c in ws_clients:
c.write_message(message)