udp-broadcast

0.1.1 • Public • Published

udp-broadcast

Travis build npm downloads npm bundle size David License GitHub package.json version

A simple Node module for broadcasting UDP messages to a list of subscribers!

I couldn't find anything that did what I wanted so I made my own.

Usage

Server

const UdpBroadcast = require('udp-broadcast').server;

let udpbroadcast = new UdpBroadcast({
    port: 2278,
    host: '0.0.0.0',
    timeout: 15000
});

udpbroadcast.addEventListener('message', (message) => {console.log(message)});

udpbroadcast.send('Hello, everyone.');

udpbroadcast.send({timestamp: new Date().getTime(), message: 'Greetings.'});

Client

const UdpClient = require('udp-broadcast').client;

let udpclient = UdpClient({
    port: 3616,
    host: '127.0.0.1',
    heartbeat: 7500‬
});

udpclient.on('message', (message) => {console.log(message)});

udpclient.open((err, id) => {
    if(err){
        console.log(err);
    }
    else{
        udpclient.send('Hello to you, too.');
    }
});

Custom Client

In order to implement a client for udp-broadcast, it must communicate using the following, easy to implement protocol:

Client sends { "id": -1 }

Server responds with { "id": x } where x is the id that the client must use for all messages until it closes its connection.

Client sends { "id": x } every y seconds, where y is strictly less than the timeout being used by the server.

When a message must be sent back to the server, the format for the message is { "id": x, "message": "this is the body of the message." }.

Messages sent from the broadcast server don't get formatted so it's up to you to find out whether to expect plain text or JSON.

Dependencies (0)

    Dev Dependencies (2)

    Package Sidebar

    Install

    npm i udp-broadcast

    Weekly Downloads

    3

    Version

    0.1.1

    License

    MIT

    Unpacked Size

    16.7 kB

    Total Files

    9

    Last publish

    Collaborators

    • corysanin