📜  如何从 Node.js 连接到 Telnet 服务器?

📅  最后修改于: 2022-05-13 01:56:46.725000             🧑  作者: Mango

如何从 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。