我正在尝试在 JavaScript 中创建一个接口,以使用 Zeromq 与机器人(用 C 编写)进行对话和控制。我是 Zeromq 的新手,很难找到一个在 JavaScript 中使用 Zeromq 的库,而许多其他语言中都存在一个好的库。我发现的两个小库使用了使用闪存或网络套接字的解决方法,这使得它变得更加复杂。两者都处于“测试阶段”并被放弃。
我们使用 html/javascript 的原因是因为它可以在很多平台上使用,但 javascript 似乎不是为这种工作而设计的?我觉得我做错了人,因为我发现这方面的信息太少了。我被告知要使用 CZMQ 和 Zyre,但据我所知,它们不能与 javascript 一起使用?任何帮助或重定向到指南将不胜感激,我已经超出了我的能力范围,并且正在做很少的过程。
如果我理解你的问题,你已经编写了一个在浏览器中本地打开的 HTML 文件,并且你希望浏览器使用 ZMQ 直接与你的机器人通信。
浏览器只有两种连接外部设备或服务的机制:HTTP(普通链接、表单、AJAX)和 Web 套接字。 ZMQ 必须运行在 Web 套接字之上。 可能有一种方法可以让它发挥作用,但这可能不是您理想的设置。 通常,您会设置一个单独的 Web 服务器来提供您的网页。 然后,您使用 websockets、ajax 或普通的 http 调用来连接并向您的网络服务器发送信息,并使用您选择的语言通过 ZMQ 连接到您的机器人。
如果你使用这种方法,那么你确实可以在服务器端使用 javascript 和 ZMQ,使用 Node.js。 您还可以使用您选择的任何其他服务器端语言来执行相同的操作,其中大多数都有 ZMQ 绑定。
如您所见,您的另一个选择是使用 HTTP 或 Web 套接字直接连接到您的机器人。 任何一个都可以正常工作,具体取决于您的机器人的具体情况,但这不是我的第一选择。