0.2.1 • Published 8 years ago

chunked-udp v0.2.1

Weekly downloads
3
License
BSD-2-Clause
Repository
github
Last release
8 years ago

chunked-udp

Client and server utilities for chunked UDP messaging, inspired by GELF+UDP

example client

const {udp_json_client} = require('chunked-udp');

const client = udp_json_client('udp://127.0.0.1:41234')

client.send({msg: 'someJsonDoc', answer: 42, nested: {args: [7,3,2], op:'*'}})

Or you can pass port and address down explicitly:

const client = udp_json_client({address: '127.0.0.1', port: 41234})

example server

const {createSocket} = require('dgram');
const server = createSocket('udp4')
  .on('message', (packet, rinfo) => {
      msg_parse_context(packet, rinfo);
    })
  .on('listening', () => {
      const {address, port} = server.address()
      console.log(`server listening ${address}:${port}`)
    })
  .bind(41234)


const {udp_json_parser} = require('chunked-udp');
const inflightMessages = new Map() // or, perhaps, require('hashbelt').createCachingHashbelt().autoRotate()
const msg_parse_context = udp_json_parser(inflightMessages, on_udp_message);

function on_udp_message(err, msg, rinfoList) {
  if (err)
    console.log('on_message ERROR', err);
  else console.log('on_message', msg);
}
0.2.1

8 years ago

0.2.0

8 years ago

0.1.0

8 years ago