Norway Porridge Makers

    udp-io

    1.1.0 • Public • Published

    udp-io

    easy request response pattern for udp sockets, using nodejs dgram module.

    A nicer interface to the built-in dgram module.

    Install

    $ npm install --save udp-io
    

    Usage

    you need to have two node servers, which every server opens a udp socket, define in the bind method. the two servers can be both "client" and "server" in the request resonse pattern.

    on your "server" you need to define an event, you do this with the method on, with the name of the event and a function. you do whatever you want and then use the callback to send the payload back to request.

    on the "client" you can use the method send with an event name, payload, port and host. this method returns an es6 Promise with the result from the "server".

    Example

    server
    //on the "server"
     
    const udpIO = require('udp-io');
    const udpSocket = require('dgram').createSocket('udp4');
    const server = udpIO(udpSocket);
     
    server.bind(33335);
     
    server.on('MY_AWESOME_EVENT', (res, cb) => {
      console.log(res.question);
      cb({ answer: 'i\'m fine, thanx !' });
    });
    client
    //on the "client"
     
    const udpIO = require('udp-io');
    const udpSocket = require('dgram').createSocket('udp4');
    const server = udpIO(udpSocket);
     
    server.bind(33334);
    server.setMaxTimeout(4000);
    server.send('MY_AWESOME_EVENT', { question: 'how are you ?' }, 33335).then((res) => {
      console.log(`answer: ${res.answer}`);
    });

    API

    server.bind(port, host)

    binds the server to port and host, the host is default to localhost

    server.on(eventName, fn(req, cb))

    register an event, eventName is a string and the function gets a request object and a callback, call the callback to send the message back.

    server.send(eventName, payload, port, host)

    send an event to a certain host, returns an es6 Promise. eventName is a string and host is default to localhost.

    server.setMaxTimeout(milliseconds)

    change the max timeout for a request, which after that the request expires.

    License

    MIT

    Keywords

    none

    Install

    npm i udp-io

    DownloadsWeekly Downloads

    2

    Version

    1.1.0

    License

    MIT

    Last publish

    Collaborators

    • teambit-owner
    • shohamgilad
    • davidfirst
    • lalybar
    • ranm8
    • odedre
    • guysaar
    • itaymendel
    • erezbit
    • giteden
    • joshk2
    • redigma
    • yona007
    • jonisar
    • benjgil
    • ocombe