2011-11-16 73 views

回答

9

我从来没有使用ZmqSocket.js,但我可以告诉你,这可能不是一个好主意(但)。这是因为zmq仍然认为双方都知道这个协议,并且如果提供了无效的数据,它们会炸毁(虽然他们正在努力解决这个问题)。

我现在做的是有一个使用socket.io与浏览器进行通信,并在推动数据(和读取)一个zeromq插座,其中应用程序的其余部分是一个简单的node.js基于代理。


更新2013年:我写sockjsproxy,基于ZeroMQ基本上代理消息/从sockjs和zeromq,让你实现你想要的只是执行(很简单),任何语言的服务器协议。

我已经亲自使用它与Python和Scala服务器来构建实时Web应用程序。

3

我开始寻找一种解决方案来为UI使用Web浏览器。

我有一个Java应用程序从几个来源收集信息,分析它将结果存储在数据库中,允许其他系统获取信息。

Java应用程序在PUSH ZMQ套接字上提供信息(日志,事件等),并提供一个REP套接字来控制它(更改参数,诊断请求等)。

我目前有一个使用Tk的UI的Python应用程序,我打算用Web界面替换它。

我对ZMQ JavaScript标准存在的问题是它使用了一个不受iOS支持的Flash组件。

做了一些Googoling的我发现了一篇名为“Interacting With ZeroMQ From the Browser”使用NullMQ

我希望这有助于。

1

另一个观点:实现一个处理全部 ZeroMQ的策略的WebSocket到ZeroMQ代理似乎很多工作,但你可以很快得到部分代理运行。像埃米尔一样,我正在试验PyZMQ < - 龙卷风 - > WebSocket桥;在我的情况下,我只关心从SUB套接字获取消息。

在我的模型中,我从浏览器发送JSON消息到代理,请求创建新的ZMQ套接字。当这些套接字接收数据时,它们通过相同的WebSocket连接将其发送回浏览器。

这是python proxy backend和我的javascript proxy frontend。在我的Python代码中,AsyncReciever类是基本上运行JSON编码/解码的ZMQStream周围的一个非常薄的包装。如果你想发送原始的ZeroMQ字节到浏览器,事情会更容易:只需连接一个ZMQSocket.on_message回调直接到BridgeWebSocket.write_message