首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过Nodejs WebSocket连接到WebSocket?

如何通过Nodejs WebSocket连接到WebSocket?
EN

Stack Overflow用户
提问于 2021-03-08 04:35:04
回答 1查看 1.6K关注 0票数 1

我正在学习websocket,我想像https://github.com/aluisiora/node-routeros/包那样通过websocket连接到路由器,这个包太广了,我只想知道如何连接。

我已经阅读了正式文档https://wiki.mikrotik.com/wiki/Manual:API,但我很难理解它。

我试过这样做,但没有得到任何回应:

代码语言:javascript
复制
client.connect(port, host, function () {
  console.log("Connected");
  client.write(encodeString("/login"));
  client.write(encodeString(`=name=${user}`));
  client.write(encodeString(`=password=${password}`));
});

client.on("data", function (data) {
  console.log("Received: " + data); // not excetue
});

我正在寻找通过nodejs套接字连接到路由器的代码示例,希望有人在这里共享。

谢谢你,我真的很感激你的回答。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-08 17:05:58

考虑到接下来的事情:

  • RouterOS API有它自己的协议,它有一些复杂性。官方维基告诉我们如何在低级别上与其交互。由于这些原因,我们很难理解。不适合高级程序员。别担心,我们都经历过了。
  • Routeros v7有一个REST,这会使工作更容易,交换语言是HTTP协议,对吗?实际上是在beta阶段。
  • RouterOS Wiki为node.js提供了其他更简单的包:Mikronode

解决方案

安装mikronode软件包

代码语言:javascript
复制
 $ npm install mikronode

使用它:

代码语言:javascript
复制
 var api = require('mikronode');

 var connection = new api('192.168.0.1','admin','password');
 connection.connect(function(conn) {

    var chan=conn.openChannel();

    chan.write('/ip/address/print',function() {
       chan.on('done',function(data) {

          var parsed = api.parseItems(data);

          parsed.forEach(function(item) {
             console.log('Interface/IP: '+item.interface+"/"+item.address);
          });

          chan.close();
          conn.close();

       });
    });
 });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66524356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档