2014-10-18 12:34:15 +01:00
2014-10-18 12:34:14 +01:00
2013-01-04 23:28:42 -08:00
2013-07-06 22:52:56 -07:00
2014-06-28 15:17:08 -07:00
2013-02-07 23:05:20 -08:00
2014-10-18 12:34:14 +01:00

Build Status

PeerServer: A server for PeerJS

PeerServer helps broker connections between PeerJS clients. Data is not proxied through the server.

##http://peerjs.com

If you prefer to use a cloud hosted PeerServer instead of running your own, sign up for a free API key here

Run PeerServer

Install the library:

$> npm install peer

Run the server:

$> peerjs --port 9000 --key peerjs

Or, create a custom server:

var PeerServer = require('peer').PeerServer;
var server = PeerServer({port: 9000, path: '/myapp'});

Connecting to the server from PeerJS:

<script>
    // No API key required when not using cloud server
    var peer = new Peer('someid', {host: 'localhost', port: 9000, path: '/myapp'});
</script>

Using HTTPS: Simply pass in PEM-encoded certificate and key.

var fs = require('fs');
var PeerServer = require('peer').PeerServer;

var server = PeerServer({
  port: 9000,
  ssl: {
    key: fs.readFileSync('/path/to/your/ssl/key/here.key'),
    certificate: fs.readFileSync('/path/to/your/ssl/certificate/here.crt')
  }
});

Combining with existing express app

WebSocket server needs server instance to bootup, so we should create express app, then get server from listen method and only after that bind PeerServer to express application.

var express = require('express');
var app = express();
var PeerServer = require('peer').PeerServer;

app.get('/', function (req, res, next) { res.send('Hello world!'); });

var server = app.listen(9000);

app.use(PeerServer({ server: server, path: '/api' }));

Events

The 'connection' event is emitted when a peer connects to the server.

server.on('connection', function(id) { ... })

The 'disconnect' event is emitted when a peer disconnects from the server or when the peer can no longer be reached.

server.on('disconnect', function(id) { ... })

Problems?

Discuss PeerJS on our Google Group: https://groups.google.com/forum/?fromgroups#!forum/peerjs

Please post any bugs as a Github issue.

Description
Languages
TypeScript 91.9%
JavaScript 7.1%
Dockerfile 1%