/p2p-comm

NodeJS Communication Manager, Peer to Peer Basic communication

Primary LanguageJavaScriptMIT LicenseMIT

NPM version [![Build Status] daviddm-image]Dependency Status

WebRTC based communication manager.

Install

$ npm install --save p2p-comm

Usage

var p2pComm = require('p2p-comm');

p2pComm.connect('server', 'port');
$ npm install --global p2p-comm
$ p2p-comm --help

License

MIT © Servio Palacios

=======

p2p-comm

NodeJS Communication Manager, Peer to Peer Basic communication

##TODO

  • Read related papers
  • Get started with infrastructure and related repositories
  • Define basic handshake protocol using STUN/ICE, and RTP stack (Transport/Session)
  • Read ( - easyRTC signaling server details, - API http://www.easyrtc.com/docs/browser/easyrtc.php)
  • Implement Basic data channel communication between peers
  • Implement a data channel communication between peers using nodejs
  • connect() method implementation using EasyRTC
  • Implement connect method
  • Implement send method
  • Implement receive method
  • Implement dataChannel on client Javascript App
  • Implement Signaling Server on SocketCluster
  • Design and Implement Network Topology Actualization Algorithm
  • Create Benchmarking Module to measure the effectiveness of new updated topology
  • Document progress up to this checkpoint
  • Design and Implement K-Peer Communication Manager Algorithm
  • Define variables that are shared along all clients in a room
  • Implement connectivity between peers using rooms
  • Implement security using rooms' concept
  • Implement K-Peering algorithm using rooms' concept
  • Implement Broadcast, Send and Receive using Data Channel
  • Document progress up to this checkpoint
  • Create Module Template
  • Comply Google style guide, code revision
  • Create module, document module, upload to npm
  • Write this part of the paper
  • Verify with Writing Lab

###TODO

  • RTCIceServer.url is deprecated! Use urls instead.
  • Use of getPreventDefault() is deprecated. Use defaultPrevented instead.

###Signaling Server

###Testing

##Libraries

###Spark

###References

###Javascript

###Code, Stilying

###WebRTC

###Security

###Issues with WebRTC and EasyRTC

###Module exports

###Network and Javascript assesments

###Trello https://trello.com/b/9vMdqkI1/trueno-io

https://www.usenix.org/conference/osdi14/technical-sessions http://riteshkr.com/embed.js/ https://github.com/mindeavor/es-pipeline-operator