const express = require("express"); const http = require("http"); const { Server } = require("socket.io"); const net = require("net"); const cors = require("cors"); const app = express(); app.use(cors()); const server = http.createServer(app); const io = new Server(server, { cors: { origin: "*" } }); io.on("connection", (socket) => { console.log("Client connected:", socket.id); const telnet = net.createConnection({ host: "172.18.8.20", port: 23 }, () => { console.log("Connected to Telnet device"); }); telnet.on("data", (data) => { socket.emit("cli_output_stream", data.toString()); }); telnet.on("close", () => { console.log("Telnet connection closed"); socket.emit("cli_output_stream", "\r\n[Telnet disconnected]\r\n"); }); telnet.on("error", (err) => { console.error("Telnet error:", err.message); socket.emit("cli_output_stream", `[Error]: ${err.message}\r\n`); }); socket.on("cli_input_stream", (data) => { telnet.write(data); // gửi từng phím từ FE }); socket.on("disconnect", () => { console.log("Client disconnected:", socket.id); telnet.end(); // Đóng kết nối Telnet }); }); server.listen(3000, () => { console.log("Server listening on port 3000"); });