PeerServer helps broker connections between PeerJS clients. Data is not proxied through the server.
If you prefer to use a cloud hosted PeerServer instead of running your own, sign up for a free API key here
or
Install the library:
$> npm install peerRun the server:
$> peerjs --port 9000 --key peerjsOr, create a custom server:
varPeerServer=require('peer').PeerServer;varserver=PeerServer({port: 9000,path: '/myapp'});Connecting to the server from PeerJS:
<script>// No API key required when not using cloud servervarpeer=newPeer('someid',{host: 'localhost',port: 9000,path: '/myapp'});</script>Using HTTPS: Simply pass in PEM-encoded certificate and key.
varfs=require('fs');varPeerServer=require('peer').PeerServer;varserver=PeerServer({port: 9000,ssl: {key: fs.readFileSync('/path/to/your/ssl/key/here.key'),cert: fs.readFileSync('/path/to/your/ssl/certificate/here.crt')}});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.
varPeerServer=require('peer').PeerServer;varserver=PeerServer({port: 9000,path: '/myapp',proxied: true});varexpress=require('express');varapp=express();varExpressPeerServer=require('peer').ExpressPeerServer;app.get('/',function(req,res,next){res.send('Hello world!');});varserver=app.listen(9000);varoptions={debug: true}app.use('/api',ExpressPeerServer(server,options));// ORvarserver=require('http').createServer(app);app.use('/peerjs',ExpressPeerServer(server,options));server.listen(9000);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){ ... });Discuss PeerJS on our Google Group: https://groups.google.com/forum/?fromgroups#!forum/peerjs
Please post any bugs as a Github issue.

