Node.js 如何连接到Telnet服务器
在本文中,我们将介绍如何使用Node.js应用程序连接到Telnet服务器。
Telnet: Telnet是一种基于传输控制协议(TCP)的应用程序协议,用于在Internet或局域网上提供双向交互式文本通信功能,使用虚拟终端连接。 Telnet用于与远离我们的人共享终端。 它们提供许多好处,如虚拟终端和在共享终端上实时执行命令。 如果您对telnet感到更加好奇,请参考本文。
NodeJS: Node.js是一个基于V8引擎的javascript运行时环境,用于在服务器端执行javascript。 所以借助nodejs,我们还可以创建一个事件驱动的应用程序。 如果您对telnet感到更加好奇,请参考本文。
程序方法:
- 首先为后续使用声明相同的全局变量。
- 导入或需要两个模块来处理telnet服务器,第一个是net模块,用于管理网络,第二个是telnet-stream,用于与telnet服务器建立连接。
- 使用telnet服务器的IP和端口号初始化net socket对象。
- 创建一个telnet客户端并连接到上述套接字。
- 连接后,套接字监听一些事件,例如关闭连接的close事件和从telnet服务器收集数据的data事件。最后但并非最不重要的是,在telnet服务器的每个新步骤中触发do和will事件以创建日志。
从Node.js连接到Telnet服务器
步骤1: 运行下面的命令来初始化npm。
npm init -y
注意: -y用于所有设置默认的情况下。
步骤2: 安装一些软件包。
npm install telnet-stream
注意: 使用telnet-stream来连接telnet到我们的节点应用程序。
步骤3: 创建一个带有以下代码的文件。在这里,文件名为index.js
// Some global variable for further use
const TelnetSocket, net, socket, tSocket;
// Require the net module for work with networking
net = require("net");
// Require and create a TelnetSocket Object
({ TelnetSocket } = require("telnet-stream"));
// Initialize the socket with the our ip and port
socket = net.createConnection(22, "test.rebex.net");
// Connect the socket with telnet
tSocket = new TelnetSocket(socket);
// If the connection are close "close handler"
tSocket.on("close", function () {
return process.exit();
});
// If the connection are on "on handler"
tSocket.on("data", function (buffer) {
return process.stdout.write(buffer.toString("utf8"));
});
// If the connection are occurred something "doing handler"
tSocket.on("do", function (option) {
return tSocket.writeWont(option);
});
tSocket.on("will", function (option) {
return tSocket.writeDont(option);
});
// If the connection are send the data "data handler"
process.stdin.on("data", function (buffer) {
return tSocket.write(buffer.toString("utf8"));
});
步骤4: 运行index.js文件。
node index.js
输出: 最后,您已经将您的节点应用程序连接到了Telnet。