import * as net from 'net'; const hostname = '192.168.1.219'; const port = 29999; function getBinarySize(string) { return Buffer.byteLength(string, 'utf8'); } export function contactServer(callback, errorCallback) { let client = new net.Socket(); let c_port = global.ctx.lights.port || port; let c_addr = global.ctx.lights.addr || hostname; client.connect(c_port, c_addr, () => { }); client.on('data', (dat) => { let arr = JSON.parse(dat); callback(arr); client.destroy(); }) } export default function req(data, callback, newFuncCallback, errorCallback) { let string_data = JSON.stringify(data); let size = getBinarySize(string_data); if (size > 9999) { errorCallback("too long"); return; } let client = new net.Socket(); let c_port = global.ctx.lights.port || port; let c_addr = global.ctx.lights.addr || hostname; client.connect(c_port, c_addr, () => { }); client.on('data', (dat) => { let arr = JSON.parse(dat); newFuncCallback(arr); client.write(string_data); client.destroy(); callback('success.'); }) client.on('error', (e) => { client.destroy(); errorCallback(e); }); }