首页 > 解决方案 > 使用节点 js 远程登录

问题描述

1.我试过用node js连接telnet。我正在尝试使用我的计算机上的节点 js 和 telnet 来控制 Epson 投影仪。

2.我在cmd中运行js代码:“node filelocation\test.js”

我使用的代码:

const telnet = require('telnet-client');
const server = new telnet();

// display server response
server.on("data", function(data){
    console.log(''+data);
});

// login when connected
server.on("connect", function(){
    server.write("%1POWR 1\r\n");
});

// connect to server
server.connect({
    host: "192.168.2.170",
    port: 4352
});

我在 cmd 中运行 js 代码:“node filelocation\test.js”

我得到的错误是:

TypeError: server.write is not a function
    at Telnet.<anonymous> (C:\Users\USER\Desktop\TEST\telnet2.js:11:12)
    at Telnet.emit (events.js:314:20)
    at Socket.<anonymous> (C:\Users\USER\node_modules\telnet-client\lib\index.js:70:16)
    at Object.onceWrapper (events.js:420:28)
    at Socket.emit (events.js:326:22)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1132:10)

标签: node.jstelnet

解决方案


我检查了这个包,没有write()可用的功能。而是使用exec(). 也on('connect')像下面这样更改以捕获错误。

server.on("connect", function(err, param){
    server.exec("%1POWR 1\r\n");
});

推荐阅读