설명 없음

Michelle Bu 9efee50e22 new api 12 년 전
bin 9efee50e22 new api 12 년 전
demo 81e1caedda fix debug flag 12 년 전
deps 551acfddae deps submodules 12 년 전
dist 81e1caedda fix debug flag 12 년 전
lib 9efee50e22 new api 12 년 전
.gitignore ea9a3207cb submodules, gitignore, make 12 년 전
.gitmodules 551acfddae deps submodules 12 년 전
Makefile ea9a3207cb submodules, gitignore, make 12 년 전
README.md 9efee50e22 new api 12 년 전
package.json 83f87033ee move 12 년 전

README.md

Peers: a node.js PeerConnection library

New API in the works, nothing is ready yet.

Chrome

  • Run Canary with --enable-data-channel

Firefox

  • 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>

Peer

First peer

var connections = {};

p1 = new Peer({ ws: 'ws://www.host.com' });
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({ ws: 'ws://www.host.com' });
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.