2012-06-11 3 views
36

Esiste una buona libreria C++ cross-platform per il networking P2P (preferibilmente UDP ma anche TCP funzionerà). Inizialmente avevo pianificato di usare libjingle ma dal momento che non forniscono alcuna libreria precompilata e mettono in mostra un sistema di compilazione piuttosto disordinato, attualmente lo considero troppo complicato.Libreria P2P per C++

+4

Cosa intendi per rete P2P? Che tipo di comunicazione vuoi raggiungere? Questo trasferimento di file, chat, voce, video? Questo punto punta o punta alla comunicazione multi-punto? – Zuljin

+0

Dalla mia esperienza posso almeno dire a tutti di stare lontano da _enet_, dato che è piuttosto buggato. – abergmeier

+1

ProudNet fornisce anche una rete P2P che include perforatura e inoltro. Le funzionalità includono la chiamata di procedura remota, la messaggistica simile a UDP e TCP, la crittografia, la compressione, ecc. –

risposta

25

libtorrent.org costruire sulla parte superiore della spinta, spinta ASIO è una libreria per P2P funziona bene per me. Implementa il protocollo BitTorrent, usando TCP per i dati di trasporto, TCP/UDP per lo scambio peer.

+0

@LCID Fire: contrassegnare come risposta corretta? – favadi

+1

è possibile utilizzare libtorrent/BitTorrent come libreria/protocollo di rete P2P generico? –

+0

@ErikAllik libtorrent non è progettato per essere una libreria di rete P2P generale, ma è possibile imparare con esso. – secmask

4

Una possibile opzione è il nostro prodotto MsgConnect. La licenza open source è disponibile.

+0

che non ha un repository GitHub open source al giorno d'oggi inizia a sembrare un po 'come il software, in un certo senso :) –

2

libjingle può essere un dolore per la compilazione, ma è molto potente e l'API è piuttosto semplice, le applicazioni di esempio aiutano a imparare e capire meglio.

+1

La rampa sembra inutilmente alta. – abergmeier

0

Tribler.org:

è un client multi-piattaforma p2p ma offrire il suo open source API pure. Implementa molte caratteristiche non standard come video streaming P2P, DHT, Merkle hash, Repex, NAT e firewall perforazione, ...

Il suo motore è parte di un progetto europeo fondato video streaming: p2p-next.

Sfortunatamente è scritto in python, ma è possibile inserirlo in C++ o anche generare librerie C++ da python.

alternativa: libswift

-3

mi piace SDL_net. Gestisce entrambi i protocolli di comunicazione UDP e TCP. È disponibile per MAC, WINDOW & distribuzioni LINUX, leggero e abbastanza facile da implementare.

Il suo sito Web non è il più bello ma ha una buona documentazione con le demo, puoi ispirarti.

+0

Questa non è una libreria P2P, ma piuttosto una normale libreria di rete TCP/UDP. –