当前位置: 首页 > 软件库 > 程序开发 > 网络工具包 >

p2p-project

授权协议 LGPL-3.0 License
开发语言 C/C++
所属分类 程序开发、 网络工具包
软件类型 开源软件
地区 不详
投 递 者 陆伟
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

To see a better formatted, more frequently updated version of this, please visit docs.p2p.today, or for the develop branch, dev-docs.p2p.today.

Current build status:

shippable travis appveyor codecov

Goal

We are trying to make peer-to-peer networking easy. Right now there's very few libraries which allow multiple languages to use the same distributed network.

We're aiming to fix that.

What We Have

There are several projects in the work right now. Several of these could be considered stable, but we're going to operate under the "beta" label for some time now.

Base Network Structures

All of our networks will be built on common base classes. Because of this, we can guarantee some network features.

  1. Networks will have as much common codebase as possible
  2. Networks will have opportunistic compression across the board
  3. Node IDs will be generated in a consistent manner
  4. Command codes will be consistent across network types

Mesh Network

This is our unorganized network. It operates under three simple rules:

  1. The first node to broadcast sends the message to all its peers
  2. Each node which receives a message relays the message to each of its peers, except the node which sent it to them
  3. Nodes do not relay a message they have seen before

Using these principles you can create a messaging network which scales linearly with the number of nodes.

Currently there is an implementation in Python and Javascript. More tractable documentation can be found in their tutorial sections. For a more in-depth explanation you can see it's specifications or this slideshow.

Sync Table

This is an extension of the above network. It inherits all of the message sending properties, while also syncronizing a local dictionary-like object.

The only limitation is that it can only have string-like keys. There is also an optional "leasing" system, which is enabled by default. This means that a user can own a particular key for a period of time.

Currently there is an implementation in Python and Javascript. More tractable documentation can be found in their tutorial sections. Protocol specifications are in progress.

Chord Table

This is a type of distributed hash table based on an MIT paper which defined it.

The idea is that you can use this as a dictionary-like object. The only limitation is that it can only have string-like keys. It uses five separate hash tables for hash collision avoidance and data backup in case a node unexpectedly exits.

Currently there is an implementation in Python and Javascript. More tractable documentation can be found in their tutorial sections. Protocol specifications are in progress.

Contributing, Credits, and Licenses

Contributors are always welcome! Information on how you can help is located on the Contributing page.

Credits and License are located on their own page.

Donate

Bitcoin: 1BwVXxPj9JSEUoAx3HvcNjjJTHb2qsyjUr

Ethereum: 0x0eb3BD61f48959662AC9411E5A2EC71aC845B687

  •      由于工作需要,需要对P2P-NEXT进行深入研究,然而简单浏览过后发现,其内容涉及到方方面面,如果不从整体上进行把握,很容易搞不清楚状况,这里将P2P-NEXT中涉及到的WP进行摘录和简单解释,便于日后工作需要。 参考地址: http://www.p2p-next.org/?page=publication&mid=7586E4D8913DA73AFEC9F5DE4B1AFCB1 Wor

  • emule本来是德国人开发的一个开源的程序,emule-project就是真正的emule官方网站,VeryCD是中国的基于开放源码P2P网络共享软件eMule(电骡)的媒体资源提供网站。VeryCD开始于2003年9月,并使用eMule作为基本共享客户端。VeryCD的目标与使命是通过开放的技术构建全球最庞大、最便捷、最人性化的资源分享网络。它由网站社区操控,由网友提供资源。VeryCD已经成为

  • 准备工作: (1)下载jxta, http://download.java.net/jxta/jxta-jxse/2.5/ 共四个文件,src doc lib tutorial, (2)安装eclipse,如果遇到error 13 不能启动,请检查jdk 的64 or 32 位版本; 打开eclipse,新建java工程,将jxse-lib-2.5.zip 解压,取出4个jar文件,放到工程目录下

  • 压缩包 : p2p源码.rar 列表 peersource\README-FIRST.TXT peersource\core\LICENSE peersource\core\win32\wsocket.cpp peersource\core\win32\wsocket.h peersource\core\win32\lib\corelib.dsp peersource\core\win32\lib

  •  Kad是Kademlia的简称,eMule的官方网站在2004年2月27日正式发布的 eMule v0.42b中,Kad开始正式内嵌成为eMule的一个功能模块,可以说从这个版本开始eMule便开始支持Kad网络了。 Kad的出现,结束了之前edonkey时代,在ed圈里只存在着ED2K一种网络的模式,它通过新的协议开创并形成了自己的kad网络,使之和ED2K网络并驾齐驱,而且它还完全支持两种网

  • 接口工程: p2p-exterface pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4

 相关资料
  • p2p

    P2P Cloud P2P Cloud project allows users to build their private networks. Building p2p is shipped with a Makefile, so building it a pretty easy task. You just run make command to buld a single binary

  • Here we describe configuration options around the Peer Exchange. These can be set using flags or via the $TMHOME/config/config.toml file. Seed Mode --p2p.seed_mode The node operates in seed mode. In s

  • 很多朋友关心SRS是否有计划支持RTMFP,是否计划支持P2P,这篇文章详细介绍了SRS和P2P的关系。 Summary 我们所指的P2P,并非传统客户端P2P的方式,譬如ed2k那种协议。我们特指三种P2P: Flash P2P:Adobe开发的P2P,Flash播放器之间可以互相P2P,分享视频。 Android P2P:特指Android的App的P2P方式,Android上HTML5不可能

  • p2p-graph Real-time P2P network visualization with D3 This package is used by WebTorrent. You can see thispackage in action on the webtorrent.io homepage orplay with it on theesnextb.in demo. Install

  • Alliance P2P是一个P2P分享软件。它支持BitTorrent下载和直接下载,采用了分散的安全网络技术,只有你邀请的人或者朋友才能分享文件和进行交流,这就很好的保护了个人隐私。它可以行动于Windows, Linux和Mac OSX系统上。

  • ANts P2P 实现了第三代的P2P网络。它保护您的隐私,当您连接,使你没有跟踪的,隐藏您的身份(IP)和crypting一切您发送/接收别人。支持云集多源下载