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
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 = new 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 = new PeerServer({
port: 9000,
ssl: {
key: fs.readFileSync('/path/to/your/ssl/key/here.key'),
certificate: fs.readFileSync('/path/to/your/ssl/certificate/here.crt')
}
});
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.