2012-06-11 76 views
36

P2Pネットワーキングのための優れたクロスプラットフォームC++ライブラリがあります(UDPが望ましいが、TCPも同様に動作します)。もともと私はlibjingleを使用する予定でしたが、コンパイルされたライブラリとスポーツは提供していないので、現在はあまりにも複雑なものです。C++のP2Pライブラリ

+4

P2Pネットワークとはどういう意味ですか?どのようなコミュニケーションを達成したいですか?このファイル転送、チャット、音声、ビデオですか?このポイントツーポイントまたはポイントマルチポイント通信ですか? – Zuljin

+0

私の経験から、少なくともバグであるので、すべての人に_enet_から遠ざかるように伝えることができます。 – abergmeier

+1

ProudNetは、穴あけやリレーなどのP2Pネットワークも提供しています。リモートプロシージャコール、UDPのような、TCPのようなメッセージング、暗号化、圧縮などが含まれます。 –

答えて

25

libtorrent.org boostの上にビルドすると、boost-asioはP2Pの仕事のためのライブラリです。 トランスポートデータ用のTCP、ピア交換用のTCP/UDPを使用して、BitTorrentプロトコルを実装します。

+0

@LCID Fire:これを正解とマークしますか? – favadi

+1

libtorrent/BitTorrentを汎用P2Pネットワークライブラリ/プロトコルとして使用できますか? –

+0

@ErikAllik libtorrentは一般的なP2Pネットワークライブラリではありませんが、それを使って学ぶことができます。 – secmask

4

1つの可能なオプションは、MsgConnectです。オープンソースライセンスが利用可能です。

+0

オープンソースのGitHubリポジトリを持っていないソフトウェアは、最近ではソフトウェアではないような気がします。 –

2

libjingleはコンパイルするには苦労する可能性がありますが、非常に強力でAPIはかなり簡単です。サンプルアプリケーションを使用すると、より理解しやすくなります。

+1

ランプが不必要に高いようです。 – abergmeier

0

Tribler.org

それはクロスプラットフォームのP2Pクライアントが、それは同様にそのオープンソースAPIを提供します。 p2p-next: それがP2Pビデオストリーミングのような多くの非標準的な機能、 DHT、マークルハッシュ、repex、NATやファイアウォールの穿刺を実装し、...

そのエンジンは、欧州で設立ビデオストリーミングプロジェクトの一部です。

残念ながら、それはPythonで書かれていますが、あなたはC++の でそれを包むことも、あるいはPythonからC++ライブラリを生成することもできます。また

libswift

-3

私はSDL_netが好き。 UDPとTCPの両方の通信プロトコルを管理します。 MAC、WINDOW & LINUXディストリビューションで利用でき、軽量で実装も簡単です。

ウェブサイトは見た目が良くないものの、デモとの良好なドキュメントがありますから、あなたはインスピレーションを得ることができます。

+0

これはP2Pライブラリではなく、通常のTCP/UDPネットワークライブラリです。 –