Sin descripción

Michelle Bu 31d7acd1bc Merge pull request #76 from eordano/fixCrash hace 10 años
bin 3c96df6af0 Fix path reference hace 10 años
lib 66db80c00d Fixes crash when user is not properly identified hace 10 años
test e89da8000e Fix test spacing hace 10 años
.gitignore 1c5b22c93c move things around hace 12 años
.travis.yml f41c1e7b2e Drop 0.8 support hace 10 años
LICENSE b8dbd1f249 license and updated package json hace 12 años
README.md f9ccc47892 Fixed the deploy URL hace 10 años
app.json bd101ab44f enable "Deploy to Heroku" Button hace 10 años
changelog.md 7335327b44 0.2.6 hace 11 años
package.json 9e9e3840c5 0.2.8 hace 10 años

README.md

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

or

Deploy

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'),
    cert: fs.readFileSync('/path/to/your/ssl/certificate/here.crt')
  }
});

Running PeerServer behind a reverse proxy

Make sure to set the proxied option, otherwise IP based limiting will fail. The option is passed verbatim to the expressjs trust proxy setting if it is truthy.

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

Combining with existing express app

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

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

var server = app.listen(9000);

var options = {
    debug: true
}

app.use('/api', ExpressPeerServer(server, options));

// OR

var server = require('http').createServer(app);

app.use('/peerjs', ExpressPeerServer(server, options));

server.listen(9000);

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.