2012-06-11 36 views
36

¿Hay alguna buena biblioteca de C++ multiplataforma para la red P2P (preferiblemente UDP pero TCP también funcionaría). Originalmente planeé usar libjingle pero dado que no proporcionan ninguna biblioteca precompilada y tienen un sistema de compilación bastante desordenado, actualmente lo considero demasiado complicado.Biblioteca P2P para C++

+4

¿Qué quiere decir con redes P2P? ¿Qué tipo de comunicación quieres lograr? ¿Esta transferencia de archivos, chat, voz, video? ¿Es este punto apuntar o apuntar a la comunicación multipunto? – Zuljin

+0

Desde mi experiencia, al menos puedo decirles a todos que se mantengan alejados de _enet_, ya que es bastante problemático. – abergmeier

+1

ProudNet también proporciona redes P2P que incluyen perforaciones y retransmisión. Las características incluyen llamada a procedimiento remoto, mensajería similar a UDP y tipo TCP, cifrado, compresión, etc. –

Respuesta

25

libtorrent.org build on top of boost, boost-asio es una biblioteca para P2P que funciona bien para mí. Implementa el protocolo BitTorrent, usando TCP para datos de transporte, TCP/UDP para intercambio de pares.

+0

@LCID Fire: ¿Marcar esto como respuesta correcta? – favadi

+1

¿se puede usar libtorrent/BitTorrent como biblioteca/protocolo de red P2P de propósito general? –

+0

@ErikAllik libtorrent no es una biblioteca de red P2P general, pero puede aprender con ella. – secmask

4

Una posible opción es nuestro producto MsgConnect. La licencia de código abierto está disponible.

+0

software que no tiene un repositorio de código abierto GitHub hoy en día comienza a sentirse un poco como un software en absoluto, de alguna manera :) –

2

libjingle puede ser difícil de compilar, pero es muy potente y la API es bastante directa, las aplicaciones de muestra te ayudan a aprender y comprender mejor.

+1

La rampa parece innecesariamente alta. – abergmeier

0

Tribler.org:

que un cliente multiplataforma p2p pero ofrecen su fuente abierta API también. implementa muchas características no estándar, como la transmisión de vídeo P2P, DHT, Merkle hash, Repex, NAT y cortafuegos de perforación, ...

Su motor es parte de un proyecto europeo fundada video streaming: p2p-next.

Desafortunadamente está escrito en python, pero puede envolverlo en C++ o incluso generar bibliotecas de C++ fuera de python.

alternativa: libswift

-3

me gusta SDL_net. Gestiona protocolos de comunicación UDP y TCP. Está disponible para MAC, VENTANA & Distribuciones de LINUX, livianas y bastante fáciles de implementar.

Su sitio web no es el más atractivo pero tiene buena documentación con demostraciones, puede inspirarse.

+0

No es una biblioteca P2P, sino una biblioteca de red TCP/UDP normal. –