Web套接字/龙卷风-在数据库更新时通知客户端

|| 我正在尝试使用Tornado Web套接字服务器在实时更改数据库时通知我的用户。我希望为此使用HTML5 Web套接字,即使大多数浏览器都不支持它们。 Tornado软件包附带的演示都没有使用Web套接字,并且在文档中未提及它们,因此我不知道如何开始。我可以在Google上找到的一些示例不起作用或记录不充分。 有没有人举过一个例子,说明在更新MySQL数据库或使用类似的方法学习时,如何使用Tornado将数据推送到客户端。     
已邀请:
Lee的回答是一个不错的答案,如果您需要支持旧版本的浏览器,则可能需要使用socket.io。 Websocket在龙卷风中非常容易:
import tornado.websocket

  class EchoWebSocket(tornado.websocket.WebSocketHandler):
      def open(self):
          print \"WebSocket opened\"

      def on_message(self, message):
          self.write_message(u\"You said: \" + message)

      def on_close(self):
          print \"WebSocket closed\"
然后将其作为其他任何处理程序进行路由,并在您的视图中包括Websocket Javascript:
  var ws = new WebSocket(\"ws://localhost:8888/websocket\");
  ws.onopen = function() {
     ws.send(\"Hello, world\");
  };
  ws.onmessage = function (evt) {
     alert(evt.data);
  };
有关更多信息,请参见源:https://github.com/facebook/tornado/blob/master/tornado/websocket.py     
我已经在服务器端成功使用了socket.io客户端和tornadio。
Socket.IO
提供websocket的抽象,如果浏览器不支持websocket(长轮询,Flash套接字等),则提供回退。 为了使用它,您只需要在tornadio文档中编写一个tornadio脚本即可监视数据库,然后在网页中包含socket.io JavaScript,并使其与Torndio服务器位于URLѭ3的任何位置建立连接。您在tornadio脚本中指定的。     
这篇使用websockets和redis的文章很好地介绍了基本思想。     

要回复问题请先登录注册