2010-12-30 15 views
5

私は.NET 4.0のSystem.Net.PeerToPeerのネームスペースを調べています。このライブラリに用意されているクラスは、P2Pネットワークを構築するのに適しているようです。しかし、サンプルと参照を検索すると、古い旧式のサンプルや参照は、MSDNのドキュメントを参照するだけで検索できます。あまり多くの人がこのライブラリを使用しているわけではなく、この製品に多大な努力が払われていないようです。誰も私がそれを使用しないよう説得するかもしれないことに気づいていないこのライブラリの問題を知っていますか?私は古いバージョンのウィンドウがそれをサポートしていないことを知りましたが、それは私のためのショーストッパーではありません。他に何かありますか?System.Net.PeerToPeerライブラリに関する問題がありますか?

答えて

0

このAPIは、PNRPに基づいています。 IPv6接続が必要です(少なくともTeredoを通じて)。これは現在のインストールでは通常不可能であり、セットアップには管理上の努力が必要です。私はそれがそれにほとんど関心がない主な理由だと信じています。

9

私は前の回答に同意しなければなりません。

.NETに組み込まれているP2PメカニズムではPNRPが使用されますが、オンラインでの制限付きの例は、ネットワークの制限よりも開発者の無知に関係しています。

ピアチャネル/ netPeerTcpBindingを使用してかなり複雑なP2Pアプリケーションを開発しました。このアプリケーションは、Windows XP SP3以上で実質的に問題なく動作し、インターネット上で動作します。

IPv6は、PNRPで必要とされる他のすべてのコンポーネントと同様に、XP SP3 +ではデフォルトでインストールされ、有効になっています。これは、潜在的なインストールベースの95%に、すでにアプリケーションのすべての前提条件があることを意味します。

はい、ローカルマシンには特定のポートがブロックされている必要がありますが、これはインストーラによって非常に簡単に実行できます。ネットワークインフラストラクチャ自体は、UDPポート3544で動作するTeredoを明示的にブロックする必要はありません。PNRP(XP SP3 +)のバージョン2は、すべてのNATバリアントで機能します。

これらの条件が満たされている限り、既存のネットワークインフラストラクチャに変更を加えることなく公衆インターネット経由でP2Pメッシュを設定することは非常に簡単です。

+0

私の答えを理解するために、投稿/ githubや少なくとも1行にいくつかのコードを投稿することは可能ですか? http://stackoverflow.com/questions/6924814 – balexandre

+0

['NetPeerTcpBinding'](https://msdn.microsoft.com/en-us/library/system.servicemodel.netpeertcpbinding%28v=vs.110%29.aspx)残念なことに.NET 4.5では時代遅れになっているようです。 –

関連する問題