ubsd is an udp broadcast service discovery component for nodejs.
npm install ubsd
const ubsd = require('ubsd');
const service = new ubsd.Service();
service.createService('myServiceName', {port: 3000});
service.start();
const ubsd = require('ubsd');
const discoverer = new ubsd.Discoverer();
discoverer.listen('myServiceName');
discoverer.on('serviceUp', (data) => {
console.log('serviceUp', data); // {msg: {port: 3000}, address: '192.168.1.100'}
});
discoverer.on('serviceDown', () => {
console.log('serviceDown');
});
Firstly, you need to construct a Service instance.
const service = new ubsd.Service();
Create a service based on the serviceName
.
serviceName
- (String, Require) Your service name.msg
- (Any, Optional, Defaultundefined
) What to be sent in the udp broadcast.broadcastPort
- (Number, Optional, Default10240
) udp broadcast port.
Start to send udp broadcast. Client(s) will receive serviceUp
.
stop udp broadcast. Client(s) will receive serviceDown
. If the server side crashed, client(s) will receive serviceDown
as well.
Client needs to construct a Discoverer instance.
const discoverer = new ubsd.Discoverer();
Listen the udp broadcast of serviceName
.
serviceName
- (String, Require) Listen which service.broadcastPort
- (Number, Optional, Default10240
) udp broadcast port. Must be consistent withcreateService
.
This event is fired when find a new matched service. data
is a object, containing the second parameter of createService
and service address
.
discoverer.on('serviceUp', (data) => {
console.log('serviceUp', data);
});
This event is fired when it can not receive udp broadcast from the specified service or when the service restart.