Giter Site home page Giter Site logo

longchuan1985 / node-httpp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from instantwebp2p/nodejs-httpp

0.0 1.0 0.0 107.34 MB

Run HTTP over UDP with Node.js for P2P and Peer Web

License: Other

Makefile 0.29% Shell 0.11% JavaScript 68.89% C++ 26.82% Python 1.07% Ruby 0.07% C 1.26% R 0.07% DTrace 0.47% Groff 0.15% D 0.59% Batchfile 0.21%

node-httpp's Introduction

node-httpp

HTTPP - Run HTTP over UDP and Bring Web in Peer or P2P styles.

It consists of four modules: udt.js, httpp.js, udts.js, httpps.js, that keeps the same api like net.js/http.js/tls.js/https.js.

It's simple to use node-httpp: 1. replace net with udt, http with httpp, tls with udts, https with httpps when require net/http/tls/httpps modules. 2. do the rest as http.

To build it manually, clone the repository and checkout v0.8-httpp branch firstly, then do steps as below.

discussion group: https://groups.google.com/d/forum/iwebpp

Wiki page: https://github.com/InstantWebP2P/node-httpp/wiki/An-introduction-to-node-httpp

Features

  • Run http and https over udp, taking udp high data transfer performance
  • Configurable Congestion Control
  • Per-socket network performance monitor
  • Per-socket bandwidth limitation
  • Multiplex connections on single udp port, saving system resources
  • Extend client/central server style web service transparently
  • Easy to use API, reuse existing http/web and node.js technology
  • Support windows/linux/OSx, RaspberryPi, Android

TODO

  • Support iOS, WP8
  • Make node-httpp as Node.js module instead of fork
  • Add more test cases
  • Improve documents, RFC draft

third-party source

Evented I/O for V8 javascript. Build Status

To checkout the sourcecode:

git clone https://github.com/InstantWebP2P/node-httpp.git
git checkout v0.8-httpp

To build:

Prerequisites (Unix only):

* Python 2.6 or 2.7
* GNU Make 3.81 or newer
* libexecinfo (FreeBSD and OpenBSD only)

Unix/Macintosh:

./configure
make
make install

Cross compile for Raspberry Pi:

setup toolchain env first, then
source cross-compile-pi.sh

Cross compile for Android:

setup Android NDK env first, then
source android-configure NDK_PATH
make -C out  

If your python binary is in a non-standard location or has a non-standard name, run the following instead:

export PYTHON=/path/to/python
$PYTHON ./configure
make
make install

Windows:

vcbuild.bat

To run the tests:

Unix/Macintosh:

make test

Windows:

vcbuild.bat test

To build the documentation:

make doc

To read the documentation:

man doc/node.1

Resources for Newcomers

node-httpp's People

Contributors

andreasmadsen avatar bnoordhuis avatar creationix avatar drpizza avatar felixge avatar henryrawas avatar indutny avatar isaacs avatar japj avatar kapouer avatar koichik avatar mikeal avatar miksago avatar mmalecki avatar mranney avatar mscdex avatar pgriess avatar piscisaureus avatar pquerna avatar rsms avatar ry avatar shama avatar thughes avatar tj avatar tjfontaine avatar tootallnate avatar trentm avatar ujh avatar waveto avatar zzak avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.