Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Jun 11, 2024. It is now read-only.

Signal-Fire/server

Repository files navigation

Signal-Fire Server

Signal-Fire Server is a WebRTC signaling server built for node.js.

A WebRTC signaling server communicates between peers to set up peer-to-peer audio/video and/or data channels. This allows your clients to communicate directly with each other.

Features

  • WebSockets powered WebRTC signaling server
  • There is a tailor-made browser client available as well
  • Automatic peer ID generation (also possible to plug in your own)
  • Automatic routing of messages
  • Supports one-to-one, one-to-many and many-to-many out of the box
  • Horizontally scalable by using registries

Install

You can help by reporting bugs or unexpected behavior. If you encounter anything, please open an issue, or even better, a pull request.

Install the module through npm:

npm i @signal-fire/server

Command Line Interface (CLI)

There is also a CLI available to start and manage multiple workers simultaneously. The CLI is a work-in-progress, but can already be used.

To install the CLI:

npm i -g @signal-fire/cli

To start a new worker on port 3003:

> signal-fire start -p 3003

See the CLI documentation to learn how to use the CLI.

Documentation

Click here to view the documentation.

Example

In this example we use the LocalRegistry in-memory registry from the @lucets/registry package.

The resulting app is in fact just a Luce application, which you can extend yourself. You'll also need to use your own HTTP server, of course.

import { Server } from 'http'
import createApp from './index'
import { LocalRegistry } from '@lucets/registry'
const registry = new LocalRegistry()
const app = createApp(registry)
const server = new Server()
server.on('upgrade', app.onUpgrade())
server.listen(3003, () => {
 console.log('Server listening on port 3003')
})

License

Copyright 2021 Michiel van der Velde.

This software is licensed under the MIT License.

AltStyle によって変換されたページ (->オリジナル) /