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.