【问题标题】:Zeromq server in javascript, not possible?javascript中的Zeromq服务器,不可能吗?
【发布时间】:2015-07-29 02:22:29
【问题描述】:

我正在尝试在 javascript 中创建一个界面,以使用 zeromq 与机器人(用 C 编写)交谈和控制。我是 zeromq 的新手,很难找到在 javascript 中使用 zeromq 的库,而在许多其他语言中存在一个好的库。我发现的两个小型库使用了一种使用闪存或网络套接字的解决方法,这使得它变得更加复杂。两者都处于“测试阶段”并被放弃。

我们使用 html/javascript 的原因是因为它可以在许多平台上使用,但似乎 javascript 不适合这种工作?我觉得我做错了,因为我发现这方面的信息太少了。我被告知使用 CZMQ 和 Zyre,但据我所知,它们不能与 javascript 一起使用?任何对指南的帮助或重定向将不胜感激,我已经不知所措并且正在做一些小过程。

【问题讨论】:

    标签: javascript zeromq


    【解决方案1】:

    如果我理解您的问题,您已经编写了一个在浏览器中本地打开的 HTML 文件,并且您希望您的浏览器使用 ZMQ 直接与您的机器人通信。

    浏览器只有两种机制可以连接到外部设备或服务:HTTP(普通链接、表单、AJAX)和网络套接字。 ZMQ 必须生活在 Web 套接字之上。可能有办法让它工作,但它可能不是你理想的设置。通常,您会设置一个单独的 Web 服务器来提供您的网页。然后,您使用 websockets、ajax 或普通 http 调用来连接并将信息发送到您的网络服务器,并使用您选择的语言通过 ZMQ 连接到您的机器人。

    如果您使用该方法,那么您确实可以在服务器端使用带有 ZMQ 的 javascript,使用 node.js。您还可以使用您选择的任何其他服务器端语言来做同样的事情,它们中的大多数都有 ZMQ 绑定。

    正如您所见,您的另一个选择是使用 HTTP 或 Web 套接字直接连接到您的机器人。任何一个都可以正常工作,具体取决于您的机器人的具体情况,但它不是我的首选。

    【讨论】:

    • 如果你希望它成为一个独立的 HTML/JS 客户端,你可以使用 Electron(以前的 Atom shell)或类似的东西来托管你的应用程序并通过客户端的 node.js 连接到 ZMQ .
    • 但是使用 node.js 我们需要在每台想要使用该界面的电脑上安装它,对吧?所以我需要使用 Web 服务器或在任何地方安装 node.js。感谢您的帮助。
    • 我相信有一种方法可以将您的客户端界面分发为一个独立的节点应用程序,其中包括应用程序本身的运行时......但我不知道它的当前状态是什么。
    • 现在我仔细看了一下,这似乎是@ShawnRakowski 的建议,您可以使用Electron 来构建和分发您的应用程序,而无需在客户。
    • 看看 Atom Editor 或 Visual Studio Code 的发行版,它们都不需要单独安装 node.js(据我所知)。您只需要担心如何分发客户端本身。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-28
    • 2018-01-18
    • 1970-01-01
    • 2012-04-30
    相关资源
    最近更新 更多