用于C ++的P2P库

是否有任何良好的跨平台C ++库的P2Pnetworking(最好是UDP,但TCP也可以)。 本来我打算使用libjingle,但由于他们没有提供任何预编译的库,并且运行一个相当混乱的构build系统,所以我现在把它放在一边太复杂了。

libtorrent.orgbuild立在boost之上,boost-asio是一个P2P工作对我很好的库。 它实现了BitTorrent协议,使用TCP传输数据,使用TCP / UDP进行对等交换。

libnice – 实现ICE协议。

一个可能的select是我们的MsgConnect产品。 开源许可证是可用的。

libjingle可能是一个痛苦的编译,但它是非常强大的,API是非常简单的,示例应用程序可以帮助您更好地学习和理解它。

Tribler.org :

它是一个跨平台的P2P客户端,但它也提供了开源的API 。 它实现了许多非标准的function,如P2Pvideostream,DHT,Merkle哈希,重复,NAT和防火墙穿孔,…

它的引擎是欧洲创build的videostream项目的一部分: p2p-next 。

不幸的是它是用python编写的,但是你可以用c ++包装它,甚至可以用python生成c ++库。

或者: libswift

我喜欢SDL_net 。 它pipe理UDP和TCP通信协议。 它可用于MAC,WINDOW和LINUX发行版,轻量级且相当容易实现。

它的网站不是最好看,但有很好的文档与演示,你可以从中获得灵感。