使用Python进行实时通知

时间:2011-11-23 08:58:02

标签: dojo websocket comet flask tornado

首先是TornadoWeb,它是异步和非阻塞,另一方面是:Dojo。如果我使用龙卷风,我怎么能与道场交流?

另一个问题是,如果我使用像Flask这样的WSGI解决方案,我可以用它们发出“通知”吗?或者dojo必须有一个“开放连接”来与服务器通信,这是不是使用WSGI完成的?意思; Apache或CherryPy不适用于Dojo?

如果WSGI不能与Dojo对话,那么使用Atom或Feeds在WSGI下编程通知呢?

注意:通知将分为两部分:通知所有用户的产品,以及有关特定用户的通知;它会使用会话......

最后一个问题,WebSockets和HTML5怎么样?服务器必须兼容才能在浏览器中使用此选项吗?

1 个答案:

答案 0 :(得分:3)

我不确定为什么Dojo似乎是沟通中的问题。

Dojo为您提供了AJAX包装器,您可以通过每1-5秒发出一次AJAX请求,在Web应用程序中使用几乎实时的通知,而且负载很小。

如果应用程序拥有大量用户,频繁的AJAX请求可能会导致过多的开销。幸运的是,您不必使用Dojo与服务器通信。您可以查看Socket.IO,如果您想在服务器端坚持使用Python,gevent-socketio。它使用Web浏览器中提供的最佳技术(WebSockets,Flash套接字,彗星)来提供实时通信。

还有dojox.socket,但我认为它不那么健壮(而且不那么受欢迎)。

但是,您应该记住,通过使用任何类型的持久连接(无论是WebSockets,Socket.IO还是dojox.socket),您都需要一个能够维持多个同时连接的异步服务器。

您选择的解决方案应该取决于Web应用程序本身及其用户群。