UNPKG

blynk-tools

Version:

Tools for working with Blynk IoT Platform

45 lines (35 loc) 1.08 kB
/** * Copyright 2017 Volodymyr Shymanskyy **/ 'use strict'; const net = require('net') const debug = require('debug')('TCP') function TcpClient (opts) { var host = opts.hostname || opts.host || 'localhost' var port = opts.port || 8442 var client = net.createConnection(port, host) client.on('connect', (e) => { if (e) { debug(e); return } client.setNoDelay(true) client.syn_endpoint = "tcp:" + client.remoteAddress + ":" + client.remotePort client.syn_direction = "out" client.emit('started', client) }) return client } function TcpServer (opts) { var host = opts.hostname || opts.host || '0.0.0.0' var port = opts.port || 8442 var server = net.createServer() server.listen(port, host, () => { debug("server listening on", server.address()); }) server.on("connection", (client) => { client.setNoDelay(true) client.syn_endpoint = "tcp:" + client.remoteAddress + ":" + client.remotePort client.syn_direction = "in" server.emit('started', client) }) return server } module.exports = { TcpClient, TcpServer }