UNPKG

forwarder-node

Version:
84 lines (71 loc) 2.09 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": 20002, "peers": 3000, "encrypt": false, "encryptkey": "abcdefghabcdefgh", "base64": false, "compress": false, "address": "localhost", "isClient": true, "reconnect": true, }); fwd.setProtocolRule(serverId, 2, "Process"); const data = "hello, I'm client 2."; let bigStr = null; function bigData() { if (!bigStr) { bigStr = ""; let singleStr = "a"; let byteNum = 1024 * 1024; let repeat = Math.ceil(byteNum / singleStr.length); for (let i = 0; i < repeat; i++) { bigStr += singleStr; } } return bigStr; } let clientID; function test() { const cID = 0; // 0: broadcast const isBroadcast = true; const isForceRaw = false; const isBatchMode = false; // data = new Buffer(data); fwd.forwardText(serverId, 0, data, 0, 0, isBroadcast, isForceRaw, isBatchMode); // fwd.sendText(serverId, cID, data); // fwd.sendBinary(serverId, cID, new Buffer(data)); } onPoll = () => { fwd.pollOnce(serverId); const evt = fwd.getCurEvent(); if (evt > 0) { let sID = fwd.getCurProcessServerID(); let cID = fwd.getCurProcessClientID(); switch (evt) { case 1: // connected clientID = cID; setInterval(test, 5000); break; case 2: // disconnected break; case 3: let packet = fwd.getCurProcessPacket(); //console.log("header clientID", fwd.getCurHeaderClientID()); //console.log("header ip", fwd.getCurHeaderIP()); console.log("recv:", packet.toString()); break; } } setImmediate(onPoll); }; // setInterval(onPoll, 1); setImmediate(onPoll);