Web应用程序中的ZeroMQ使用:前端如何与后端交互

7
我听说 ZeroMQ 很强大,与 IT 技术有关。现在我正在想象它如何应用于 Web 应用程序。
你能给出一个使用 ZeroMQ 的 Web 应用程序例子吗?
首先想到的是简单的聊天应用程序,我们需要前端和后端。我喜欢使用 Python+Tornado 作为后端,并且有 Python 库可以使用 ZeroMQ,这很清楚。接下来就是前端了,在前端我将使用一些 JavaScript 与后端交互。
那么,我应该使用 Ajax 调用来实现这个功能,对吗?还有其他方法吗?
谢谢!

嘿,伙计,你的进展如何?我和你一样也遇到了同样的问题。 - MichaelMao
1个回答

3
最简单的方法是将WebSockets映射到ZeroMQ sockets,使用tornado和PyZMQ的ZMQStream对象非常简单。这样一个应用程序的示例是IPython Notebook。这种方法的缺点是需要websockets,这会限制您可以支持哪些浏览器。当然,您也可以使用jQuery等映射ajax调用,并在tornado中使用异步处理程序来处理中继。
更复杂的web:ZeroMQ应用程序是mongrel2 web服务器。
对于您来说,正确的选择将取决于您的通信模式。

这个问题表达了对tornado的特定偏好,所以例子就是从那里来的,但现在任何Web框架都可以胜任(答案是10年前的,在我们拥有asyncio之前)。 - minrk
由于Websockets已经在HTTP环境中很好地支持聊天,您只能在浏览器端受限,我认为这不是ZeroMQ的一个特别好的用例。现在,使用ZeroMQ通过传统的桌面GUI与服务器进行通信来创建聊天应用程序将是一个很好的用例。 - Samantha Atkins
太好了!我也不认为zmq是构建基于Web的聊天应用程序的非常合理的选择。我把问题看作是在问如何使用它,而不是是否应该使用它。我认为这只是一个为学习目的而使用的示例。 - minrk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接