Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

About

Node module for broadcasting UDP messages to a list of subscribers

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published