这里有一个特殊的设备可以通过telnet控制,我一直在做(通过PuTTy或终端)一段时间 .
在NodeJS中,我创建了一个Web界面,可以更容易地控制设备 . 我通过为通过telnet发送的不同命令运行不同的bash脚本来完成此操作 . 这工作正常,但感觉太无组织了,更不用说每个命令的shell脚本的混乱 . 我正在寻找一种更好的方法 .
我想过直接从NodeJS连接到telnet服务器 . 我尝试过不同的软件包(例如net,telnet-client,telnet-stream,另一个telnet-client等),但这些不是我需要的工具,或者我只是没有正确实现它 .
这是我正在使用telnet-client软件包测试的示例代码(其他代码只是其中的变体):
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("login <user> <pass>");
});
// connect to server
server.connect({
host: "172.16.0.1",
port: 9600
});
手动完成后,在“登录”请求之后,我应该看到“登录成功”消息,但我没有收到任何回复 .
这段代码不正确吗?我不熟悉telnet,非常感谢任何帮助 .
1 回答
只是在这里写下答案以防万一有人遇到同样的问题 .
我的问题只是通过在我发送到服务器的字符串末尾添加回车符和换行符来解决 .