r2/proxy/client.js
lightings f30219ff1f ...
2023-04-13 15:09:31 +08:00

78 lines
1.9 KiB
JavaScript

const net = require("net");
const { Stick, MaxBodyLen } = require("./lib/stick");
const port = 4999;
const host = "192.168.100.83";
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) {
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();
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);
});