Prechádzať zdrojové kódy

fix readme
fix dc event

afrokick 6 rokov pred
rodič
commit
a7bc7b03d2
3 zmenil súbory, kde vykonal 84 pridanie a 10 odobranie
  1. 74 8
      README.md
  2. 9 1
      bin/peerjs
  3. 1 1
      src/index.js

+ 74 - 8
README.md

@@ -19,8 +19,16 @@ npm install
 ```
 ```
 
 
 3. Run the server:
 3. Run the server:
+
 ```bash
 ```bash
-npm run start
+$> peerjs --port 9000 --key peerjs --path /mypapp
+```
+
+Or, create a custom server:
+
+```javascript
+const PeerServer = require('peer').PeerServer;
+const server = PeerServer({port: 9000, path: '/myapp'});
 ```
 ```
 
 
 Connecting to the server from PeerJS:
 Connecting to the server from PeerJS:
@@ -31,21 +39,79 @@ Connecting to the server from PeerJS:
 </script>
 </script>
 ```
 ```
 
 
-Using HTTPS: Simply pass in paths to PEM-encoded certificate and key.
+Using HTTPS: Simply pass in PEM-encoded certificate and key.
 
 
-```bash
-node ./src/index.js --port 9000 --path /myapp --sslKeyPath /path/to/your/ssl/key/here.key --sslCertPath /path/to/your/ssl/certificate/here.crt
+```javascript
+const fs = require('fs');
+const PeerServer = require('peer').PeerServer;
+
+const 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
 #### Running PeerServer behind a reverse proxy
 
 
-Make sure to set the `proxied` option.
+Make sure to set the `proxied` option, otherwise IP based limiting will fail.
 The option is passed verbatim to the
 The option is passed verbatim to the
 [expressjs `trust proxy` setting](http://expressjs.com/4x/api.html#app-settings)
 [expressjs `trust proxy` setting](http://expressjs.com/4x/api.html#app-settings)
 if it is truthy.
 if it is truthy.
 
 
-```bash
-node ./src/index.js --port 9000 --path /myapp --proxied true
+```javascript
+const PeerServer = require('peer').PeerServer;
+const server = PeerServer({port: 9000, path: '/myapp', proxied: true});
+```
+
+### Combining with existing express app
+
+```javascript
+const express = require('express');
+const app = express();
+const ExpressPeerServer = require('peer').ExpressPeerServer;
+
+app.get('/', (req, res, next) => { res.send('Hello world!'); });
+
+// =======
+
+const server = app.listen(9000);
+
+const options = {
+    debug: true
+}
+
+const peerserver = ExpressPeerServer(server, options);
+
+app.use('/api', peerserver);
+
+// == OR ==
+
+const server = require('http').createServer(app);
+const peerserver = ExpressPeerServer(server, options);
+
+app.use('/peerjs', peerserver);
+
+server.listen(9000);
+
+// ========
+```
+
+### Events
+
+The `'connection'` event is emitted when a peer connects to the server.
+
+```javascript
+peerserver.on('connection', (client) => { ... });
+```
+
+The `'disconnect'` event is emitted when a peer disconnects from the server or
+when the peer can no longer be reached.
+
+```javascript
+peerserver.on('disconnect', (client) => { ... });
 ```
 ```
 
 
 ## Running tests
 ## Running tests
@@ -73,4 +139,4 @@ This will start a peerjs server on port 9000 exposed on port 9000.
 Discuss PeerJS on our Google Group:
 Discuss PeerJS on our Google Group:
 https://groups.google.com/forum/?fromgroups#!forum/peerjs
 https://groups.google.com/forum/?fromgroups#!forum/peerjs
 
 
-Please post any bugs as a Github issue.
+Please post any bugs as a Github issue.

+ 9 - 1
bin/peerjs

@@ -85,7 +85,7 @@ if (opts.sslkey || opts.sslcert) {
 }
 }
 
 
 const userPath = opts.path;
 const userPath = opts.path;
-const server = PeerServer(opts, (server) => {
+const server = PeerServer(opts, server => {
   var host = server.address().address;
   var host = server.address().address;
   var port = server.address().port;
   var port = server.address().port;
 
 
@@ -94,3 +94,11 @@ const server = PeerServer(opts, (server) => {
     host, port, userPath || '/', version
     host, port, userPath || '/', version
   );
   );
 });
 });
+
+server.on('connection', client => {
+  console.log(`Client connected: ${client.getId()}`);
+});
+
+server.on('disconnect', client => {
+  console.log(`Client disconnected: ${client.getId()}`);
+});

+ 1 - 1
src/index.js

@@ -44,7 +44,7 @@ const init = ({ app, server, options }) => {
   });
   });
 
 
   wss.on('close', client => {
   wss.on('close', client => {
-    app.emit('disconnected', client);
+    app.emit('disconnect', client);
   });
   });
 
 
   wss.on('error', error => {
   wss.on('error', error => {