JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 32
  • Score
    100M100P100Q64862F
  • License MIT

socket-signal through simple-websocket

Package Exports

  • socket-signal-websocket

Readme

socket-signal-websocket

Build Status JavaScript Style Guide standard-readme compliant

socket-signal through simple-websocket and reconnecting support

Install

$ npm install socket-signal-websocket

Usage

Server

$ npx socket-signal-websocket [--port=4000]

Client

const { SocketSignalWebsocketClient } = require('socket-signal-websocket')

// you can define multiple server urls for fallback reconnections
const client = new SocketSignalWebsocketClient([
  'ws://localhost:4000',
  'ws://localhost:4001',
  'ws://localhost:4002'
], {
  heartbeat: {
    interval: 10 * 1000,
    timeout: 5 * 1000
  },
  simpleWebsocket: {}, // https://github.com/feross/simple-websocket options
  reconnectingWebsocket: {}, // https://github.com/pladaria/reconnecting-websocket options
  simplePeer: {} // https://github.com/feross/simple-peer options
})

;(async () => {
  await client.open()

  client.onIncomingPeer(async (peer) => {
    if (validPeer(peer)) return
    throw new Error('invalid peer')
  })

  const peersForThatTopic = await client.join(topic)

  const remotePeer = client.connect(topic, peersForThatTopic[0])

  try {
    await remotePeer.ready()
    // SimplePeer connected
  } catch(err) {
    // SimplePeer rejected
  }
})()

Issues

🐛 If you found an issue we encourage you to report it on github. Please specify your OS and the actions to reproduce it.

Contributing

👥 Ideas and contributions to the project are welcome. You must follow this guideline.

License

MIT © A GEUT project