暂无描述

Michelle Bu e44ca65d17 fixed connection object for id-less peers 12 年之前
bin ec5ec82e8e socket abstraction 12 年之前
demo e44ca65d17 fixed connection object for id-less peers 12 年之前
deps 551acfddae deps submodules 12 年之前
dist e44ca65d17 fixed connection object for id-less peers 12 年之前
docs e0128f84db add readme 12 年之前
lib e44ca65d17 fixed connection object for id-less peers 12 年之前
.gitignore ea9a3207cb submodules, gitignore, make 12 年之前
.gitmodules 551acfddae deps submodules 12 年之前
Makefile ea9a3207cb submodules, gitignore, make 12 年之前
README.md 8eba759061 next: xhr streaming 12 年之前
package.json a8ed5c84e4 actually use config 12 年之前

README.md

Peers: a node.js PeerConnection library

Chrome

  • Run Canary with --enable-data-channel

Firefox

Currently awaiting next Firefox WebRTC update.

  • Firefox flags: media.navigator.enabled: true media.navigator.permission.disabled: true media.peerconnection.enabled: true

Usage

Server

npm install peer

var PeerServer = require('peer').PeerServer({ port: 80, debug: true });

Client

<script type="text/javascript" src="/client/dist/peer.js"></script>

First peer

var connections = {};

p1 = new Peer({ host: 'localhost', port: '8000' });
p1.on('ready', function(id) {
  console.log(id); // => 'some_id_1'
});

p1.on('connection', function(connection) {
  // Sends a message to the other peer. This can even be a blob or JSON.
  connection.send('Hi there!');
  connection.send({ file: new Blob([1, 2, 3])});

  // Probably want to save the connection object.
  connections[connection.metadata.username] = connection;

  if (connection.metadata.username == 'spy') {
    connection.close();
  } else {
    // Add handler for connection data.
    connection.on('data', function(data) {
      console.log(data);
    }
  }
});

Second Peer

p2 = new Peer({ server: 'localhost' });
p2.on('ready', function(id) {
  console.log(id);

  p2.connect('some_id_1', { username: 'friend' }, function(err, connection) {
    connection.send('Hi, bye.');

    connection.close();
  });
});

Other events

  • Connection - close: Called when a peer disconnects.