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.

Package Sidebar

Install

npm i udp-broadcast

Weekly Downloads

4

Version

0.1.1

License

MIT

Unpacked Size

16.7 kB

Total Files

9

Last publish

Collaborators

  • corysanin