0.2.17 • Published 9 years ago

udp2p v0.2.17

Weekly downloads
3
License
MIT
Repository
github
Last release
9 years ago

UDP2P

P2P connection with UDP hole punching

Install

npm install udp2p

Quick start

var udp2p = require('udp2p');
var client = new udp2p();

client.connect(function () {
  client.fetchClient(function(e, d) {
    d.map(function(v) {
      var c = v.name;
      client.peerMsg({message: 'Hello, ' + c}, c, function (ee, dd) {});
    })
  });
});

Provides hole punching services (Server Mode)

var udp2p = require('udp2p');
var tracker = {
  address: 'tracker.cc-wei.com',
  port: 2266
};
var options = {
  server: true,
  port: 2266,
  tracker: [tracker]
};

var server = new udp2p(options);

Connect with hole punching server (Client Mode)

var udp2p = require('udp2p');
var client = new udp2p();
var server = {
  address: 'tracker.cc-wei.com',
  port: 2266
};

client.connect(server, function(err) {
  console.log("status:", client.getStatus());
});

Fetch client list

client.fetchClient(function(err, list) {
  console.log(list);
});

Send message

var message = {
  message: 'Hello UDP2P!'
};

var peer = client.getClientList().pop().name;
client.peerMsg(message, peer, function(err, response) {});

Send file

var filepath = '/Users/luphia/Documents/Workspace/Playground/logo.png';
var peer = client.getClientList().pop().name;
client.peerFile(filepath, peer, function(err, response) {});

Setup event

var savePath = '/Users/luphia/Desktop/';

client.on('message', function (data) {
  console.log('%s: %s', data.from, JSON.stringify(data.content));
});

client.on('file', function (data) {
  console.log('recieve file [%s] from %s', data.from, data.name);
  data.r2x.save(savePath + data.name);
});

Setup Reaaction

client.on('message', function (d) {
  var file = d.content.file;
  if(file) {
    console.log(file);
    client.response(file, d);
  }
  else {
    console.log(d);
  }
});

Request a file

var filepath = '/Users/luphia/Desktop/upload/crownfond.png';
client.request({file: filepath}, 'client2', function (d) {console.log('Response'); console.log(d);});
0.2.17

9 years ago

0.2.16

9 years ago

0.2.15

9 years ago

0.2.14

9 years ago

0.2.13

9 years ago

0.2.12

9 years ago

0.2.11

9 years ago

0.2.10

10 years ago

0.2.9

10 years ago

0.2.8

10 years ago

0.2.7

10 years ago

0.2.6

10 years ago

0.2.5

10 years ago

0.2.4

10 years ago

0.2.3

10 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.9

10 years ago

0.1.8

10 years ago

0.1.7

10 years ago

0.1.6

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.1

10 years ago

0.0.0

10 years ago