@ionic/discover

Simple UDP based protocol for service discovery implemented in pure JS.

Stats

StarsIssuesVersionUpdatedCreatedSize
@ionic/discover
1,9583303.1.5a year ago4 years agoMinified + gzip package size for @ionic/discover in KB

Readme

Ionic Discover

Simple UDP based protocol for service discovery implemented in pure JS. It is not mDNS or bonjour, but it tries to accomplish the same thing.

Spec

It uses a JSON based textual format:

const message = {
  t: now,
  id: 'unique',
  name: this.name,
  host: os.hostname(),
  ip: iface.address,
  port: number1,
  commPort: number2
};

return 'ION_DP' + JSON.stringify(message);
key description
t unix timestamp in second
id unique id for this session
name name of the announced service
host hostname of the machine announcing the service
ip ipv4 address
port tcp port of the announced service
commPort optional websocket port of the communication server

Installation

npm install @ionic/discover

Usage

import { Publisher } from '@ionic/discover';

const namespace = 'your-service';
const serviceName = 'Ionic thing!';
const tcpPort = 8100;
const service = new Publisher(namespace, serviceName, tcpPort);

await service.start();

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.