0.5.0 • Published 4 years ago

coven v0.5.0

Weekly downloads
2
License
MIT
Repository
github
Last release
4 years ago

coven

A pain-free way to handle a mesh of peers via WebRTC

Usage (node client)

const wrtc = require('wrtc');
const ws = require('ws');
const Coven = require('coven');

const coven = new Coven({ ws, wrtc, signaling: 'wss://coven-broker.now.sh' });

coven.once('open', () => console.log('Connected to signaling server'));
coven.on('connection', peerId => console.log(`Connected to peer ${peerId}`));
coven.on('disconnection', peerId =>
  console.log(`Disconnected from peer ${peerId}`)
);
coven.on('message', ({ peerId, message }) => {
  coven.sendTo(peerId, message);
});
//...
const [peerId] = coven.activePeers;
coven.sendTo(peerId, 'fsdfsd');

Usage (browser client)

import Coven from 'coven';

const coven = new Coven({ signaling: 'wss://coven-broker.now.sh' });

coven.once('open', () => console.log('Connected to signaling server'));
coven.on('connection', peerId => console.log(`Connected to peer ${peerId}`));
coven.on('disconnection', peerId =>
  console.log(`Disconnected from peer ${peerId}`)
);
coven.on('message', ({ peerId, message }) => {
  coven.sendTo(peerId, message);
});
//...
const [peerId] = coven.activePeers;
coven.sendTo(peerId, 'fsdfsd');

Usage (server)

const createSignalingBroker = require('coven/server');
const DEFAULT_PORT = 4000;
const PORT = +(process.env.PORT || DEFAULT_PORT);

createSignalingBroker({
  port: PORT,
  onMessage({ room, type, origin, target }) {
    console.log(`[${room}::${type}] ${origin} -> ${target || '<BROADCAST>'}`);
  },
});
0.5.0

4 years ago

0.4.3

5 years ago

0.4.2

5 years ago

0.4.1

5 years ago

0.4.0

5 years ago

0.3.5

6 years ago

0.3.4

6 years ago

0.3.3

6 years ago

0.3.2

6 years ago

0.3.1

7 years ago

0.3.0

7 years ago

0.2.0

7 years ago

0.1.0

7 years ago