如何从 Node.js 连接到 Telnet 服务器?
在本文中,我们将了解如何将 Telnet 服务器与 Node.js 应用程序连接起来。
Telnet: Telnet 是一种基于传输控制协议 (TCP) 的应用协议,用于 Internet 或局域网,使用虚拟终端连接提供双向交互式文本导向通信设施。 Telnet 用于与远离我们的人共享终端。它们提供了许多好处,例如虚拟终端和在共享终端上实时执行命令。如果您对 telnet 有更多的好奇,请参阅这篇文章。
NodeJS: Node.js 是 javascript 的运行时环境,基于 V8 引擎在服务器端执行 javascript。所以在 nodejs 的帮助下,我们还创建了一个事件驱动的应用程序,如果您对 telnet 有更多的好奇,请参考这篇文章。
方案方法:
- 首先声明相同的全局变量以供进一步使用。
- 导入或需要两个模块用于 telnet 服务器,第一个是 net 模块,用于管理网络,第二个 telnet-stream 用于与 telnet 服务器建立连接。
- 用 telnet 服务器的 IP 和端口号初始化 net socket 对象。
- 创建一个 telnet 客户端并连接上面的套接字。
- 连接后,列出一些事件的套接字会关闭,如果连接已关闭,并且用于从 telnet 服务器收集数据的数据最后但并非最不重要,并且将在 telnet 服务器中的每个新步骤创建一个日志时发生的事件。
从 Node.js 连接 Telnet 服务器
第 1 步:运行以下命令来初始化 npm。
npm init -y
注意: -y 用于所有设置都是默认的。
第二步:安装一些包。
npm install telnet-stream
注意: telnet-stream 用于将 telnet 连接到我们的节点应用程序。
第 3 步:使用以下代码创建一个文件。这里,文件名是 index.js
Javascript
// Some global variable for further use
var 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 somethin "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 teh data "data handler"
process.stdin.on("data", function (buffer) {
return tSocket.write(buffer.toString("utf8"));
});
第 4 步:运行 index.js 文件。
node index.js
输出:最后,您已将节点应用程序连接到 telnet。