const net = require("net"); const { Stick, MaxBodyLen } = require("./lib/stick"); const port = 4999; const host = "127.0.0.1"; const { Message } = require("./Message"); const stick = new Stick(1024); stick.setMaxBodyLen(MaxBodyLen["32K"]); var client = new net.Socket(); var game; client.connect(port, host, function () { console.log("Connected"); let param = { serial: 123456, route: "gate.gateHandler.queryEntry", params: { uid: "6516_2006_0xef59f6cc4d190a0ae576c46d4583e92b61174340" } }; client.write(stick.makeData(Message.TYPE_REQUEST, JSON.stringify(param))); }); client.on("data", function (data) { console.log("Received: " + data); client.destroy(); // kill client after server's response stick.putData(data); }); client.on("error", function (error) { console.log("Error: " + error); }); client.on("close", function () { console.log("Connection closed"); }); stick.onBody((msgId, data) => { console.log(msgId, data.toString()); data = JSON.parse(data); setTimeout(() => { const stick = new Stick(1024); stick.setMaxBodyLen(MaxBodyLen["32K"]); game = new net.Socket(); console.log(data.port, data.host); game.connect(data.port, data.host, function () { console.log("Connected"); let param = { serial: 123457, route: "connector.entryHandler.entry", params: { uid: "6516_2006_0xef59f6cc4d190a0ae576c46d4583e92b61174340" } }; game.write(stick.makeData(Message.TYPE_REQUEST, JSON.stringify(param))); }); game.on("error", function (error) { console.log("Error: " + error); }); game.on("close", function () { console.log("Connection closed"); }); game.on("data", function (data) { stick.putData(data); game.destroy(); // kill client after server's response }); stick.onBody((msgId, data) => { data = JSON.parse(data); console.log(msgId, data); }); }, 1000); });