UNPKG

forwarder-node

Version:
79 lines (67 loc) 2.19 kB
let forwarder = require('./build/bin/forwarder.node'); let fwd = new forwarder.Forwarder(); fwd.setupLogger(); fwd.setDebug(true); fwd.setLogLevel(1); console.log("pid", process.pid); const serverId = fwd.createServer({ "id": 1, "desc": "client_enet", "netType": "enet", "port": 20003, "peers": 3000, "encrypt": false, "encryptkey": "1234567812345678", "base64": false, "compress": false, "address": "localhost", "isClient": true, "reconnect": true }); fwd.setProtocolRule(serverId, 2, "Process"); // const data = "hello, I'm client 1."; let bigStr = null; function bigData() { if (!bigStr) { bigStr = ""; let singleStr = "hello"; let byteNum = 1024 * 1024 * 3; let repeat = Math.ceil(byteNum / singleStr.length); for (let i = 0; i < repeat; i++) { bigStr += singleStr; } } return bigStr; } function response(hostID, str) { const isBroadcast = true; const isForceRaw = false; const isBatchMode = false; fwd.forwardText(serverId, 0, str, hostID, 0, isBroadcast, isForceRaw, isBatchMode); } setInterval(() => { fwd.pollOnce(serverId); const evt = fwd.getCurEvent(); if (evt > 0) { let sID = fwd.getCurProcessServerID(); let cID = fwd.getCurProcessClientID(); // console.log("evt", evt, "sID", sID, "cID", cID); switch (evt) { case 1: // connected //fwd.setTimeout(serverId, 0, 1000, 2000); //fwd.setPingInterval(serverId, 1000); break; case 2: // disconnected console.log("stat", fwd.stat()); break; case 3: // message let packet = fwd.getCurProcessPacket(); console.log("header serverID", fwd.getCurHeaderHostID()); console.log("header clientID", fwd.getCurHeaderClientID()); //console.log("header ip", fwd.getCurHeaderIP()); console.log("recv:", packet.toString()); response(fwd.getCurHeaderHostID(), "response:" + packet.toString()); break; } } }, 0.01);