2010-12-30 7 views
5

Ich habe in .NET 4.0 in den Namespace für System.Net.PeerToPeer gesucht und die Klassen in dieser Bibliothek scheinen ziemlich gut für die Erstellung von P2P-Netzwerken. Wenn ich jedoch nach Beispielen und Referenzen suche, kann ich nur alte veraltete Beispiele oder Referenzen finden, die einfach auf die MSDN-Dokumentation verweisen. Es scheint, dass nicht zu viele Leute diese Bibliothek benutzen und dass nicht viel Aufwand in dieses Produkt investiert wird. Kennt jemand Probleme mit dieser Bibliothek, von denen ich nicht weiß, dass sie mich dazu bringen könnten, sie nicht zu benutzen? Ich habe gesehen, dass ältere Versionen von Windows es nicht unterstützt haben, aber das ist kein Show-Stopper für mich. Gibt es noch etwas?Probleme mit der System.Net.PeerToPeer-Bibliothek?

Antwort

0

Diese API basiert auf PNRP. Es erfordert IPv6-Konnektivität (zumindest über Teredo); Dies ist in der Regel in heutigen Installationen nicht verfügbar und erfordert administrativen Aufwand, um es einzurichten. Ich glaube, das ist der Hauptgrund, warum es so wenig Interesse daran gibt.

9

Ich muss der vorherigen Antwort nicht zustimmen.

Während die P2P-Mechanismen in .NET gebaut haben PNRP verwenden, haben die begrenzten Beispiele Online mehr mit Entwickler Unkenntnis als alle Netzwerkbeschränkungen zu tun.

Ich habe eine ziemlich komplexe P2P-Anwendung mit dem Peer-Kanal/netPeerTcpBinding entwickelt. Diese Anwendung funktioniert unter Windows XP SP3 oder höher praktisch ohne Probleme und funktioniert über das Internet.

IPv6 wird standardmäßig installiert und auf XP SP3 + aktiviert ist, wie jede andere Komponente von PNRP erforderlich. Dies bedeutet, dass wahrscheinlich 95% Ihrer potenziellen Installationsbasis bereits alle Voraussetzungen für Ihre Anwendung erfüllen.

Ja, die lokale Maschine muss bestimmte Ports entsperrt haben, aber dies kann von Ihrem Installateur sehr leicht gemacht werden. Die Netzwerkinfrastruktur selbst muss Teredo, das über den UDP-Port 3544 arbeitet, nicht explizit sperren. Version 2 von PNRP (XP SP3 +) funktioniert über alle NAT-Varianten.

Solange diese Bedingungen erfüllt sind, können Sie relativ einfach ein P2P-Netz über das öffentliche Internet einrichten, ohne dass Änderungen an Ihrer vorhandenen Netzwerkinfrastruktur vorgenommen werden müssen.

+0

ist es möglich, einen Code auf einem Post/Github oder mindestens einer Zeile zu posten, um meine Antwort herauszufinden? http://StackOverflow.com/Questions/6924814 – balexandre

+0

['NetPeerTcpBinding'] (https://msdn.microsoft.com/en-us/library/system.servicemodel.netpeertcpbinding%28v=vs.110%29.aspx) scheint in .NET 4.5 leider veraltet zu sein. –