blynk-tools
Version:
Tools for working with Blynk IoT Platform
45 lines (35 loc) • 1.08 kB
JavaScript
/**
* Copyright 2017 Volodymyr Shymanskyy
**/
;
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 }