【问题标题】:ZeroMQ in javascript clientjavascript客户端中的ZeroMQ
【发布时间】:2011-12-30 00:16:54
【问题描述】:

有没有人成功使用ZmqSocket.js?我想知道如何使用它在浏览器和 zeromq 服务器应用程序之间建立安全通道。这种用例还有其他/更好的选择吗?

【问题讨论】:

    标签: javascript zeromq channel


    【解决方案1】:

    我从未使用过 ZmqSocket.js,但我可以告诉你,这可能不是一个好主意(目前)。这是因为 zmq 仍然假设两个对等方都非常了解协议,并且如果提供无效数据就会崩溃(不过,他们正在努力解决这个问题)。

    我现在要做的是有一个简单的基于node.js 的代理,它使用socket.io 与浏览器通信并将数据推送到(并从中读取)一个zeromq 套接字,应用程序的其余部分就在其中。


    2013 年更新: 我写了sockjsproxy,它基本上代理了发往/来自sockjs 和 zeromq 的消息,允许您通过实现(非常简单)基于 ZeroMQ 的协议。

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

    【讨论】:

      【解决方案2】:

      我开始寻找一种将网络浏览器用于 UI 的解决方案。

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

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

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

      我对 ZMQ JavaScript 投标的问题是它使用了 iOS 不支持的 flash 组件。

      在谷歌上搜索了一下,我发现了一个标题为“Interacting With ZeroMQ From the Browser”的帖子,其中使用了NullMQ

      我希望这会有所帮助。

      【讨论】:

        【解决方案3】:

        另一个观点:实现一个处理所有 ZeroMQ 策略的 WebSocket-to-ZeroMQ 代理似乎需要做很多工作,但您可以很快让部分代理运行。像 Emil 一样,我正在尝试使用 PyZMQ WebSocket 桥;就我而言,我只关心从 SUB 套接字获取消息。

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-09-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多