Zajmuję się obszarami nazw dla System.Net.PeerToPeer w .NET 4.0, a klasy zapewnione w tej bibliotece wydają się być dość dobre do budowania sieci P2P. Jednak, gdy szukam przykładów i referencji, mogę znaleźć tylko stare nieaktualne przykłady lub odniesienia, które po prostu wskazują na dokumentację MSDN. Wygląda na to, że zbyt mało osób korzysta z tej biblioteki i że do tego produktu nie wkłada się zbyt wiele wysiłku. Czy ktokolwiek wie o problemach z tą biblioteką, których nie jestem świadomy, może przekonać mnie, żebym jej nie używał? Widziałem, że starsze wersje Windows nie obsługują go, ale to nie jest dla mnie przystawka na pokaz. Czy jest coś jeszcze?Jakieś problemy z biblioteką System.Net.PeerToPeer?
Odpowiedz
Ten interfejs API jest oparty na PNRP. Wymaga połączenia IPv6 (przynajmniej przez Teredo); jest to zwykle niedostępne w dzisiejszych instalacjach i wymaga wysiłku administracyjnego, aby go skonfigurować. Uważam, że jest to główny powód, dlaczego tak mało jest w tym interesu.
Nie zgadzam się z poprzednią odpowiedzią.
Podczas gdy mechanizmy P2P wbudowane w .NET używają PNRP, ograniczone przykłady online mają więcej wspólnego z ignorancją programisty niż z ograniczeniami sieci.
Opracowałem dość złożoną aplikację P2P wykorzystującą kanał peer/netPeerTcpBinding. Ta aplikacja działa praktycznie bez problemów w systemie Windows XP SP3 lub nowszym i działa przez Internet.
IPv6 jest zainstalowany i włączony domyślnie w XP SP3 +, tak jak każdy inny składnik wymagany przez PNRP. Oznacza to, że prawdopodobnie 95% twojej potencjalnej bazy instalacyjnej ma już wszystkie wstępne wymagania dla twojej aplikacji.
Tak, lokalny komputer musi mieć odblokowane określone porty, ale instalator może to zrobić bardzo łatwo. Sama infrastruktura sieciowa nie musi jawnie blokować Teredo, które działa przez port UDP 3544. Wersja 2 PNRP (XP SP3 +) działa na wszystkich wariantach NAT.
Dopóki te warunki są spełnione, możesz dość łatwo skonfigurować sieć P2P za pośrednictwem publicznego Internetu bez zmian w istniejącej infrastrukturze sieci.
- 1. Problemy z biblioteką TFS i referencjami
- 2. Każdy znaczący błąd lub problemy z biblioteką Android Databinding Library?
- 3. problemy z biblioteką C++ 11 i g ++ 4.4.7
- 4. Problemy z ld i biblioteką statyczną "niezdefiniowane odniesienie do"
- 5. Nie można wyświetlić elementów z biblioteką AppCompat
- 6. Czy używanie javascript: history.back(); masz jakieś nieznane problemy?
- 7. Różnica między biblioteką a biblioteką macierzystą
- 8. Problem z kliknięciem ciała z biblioteką highchart
- 9. Dosyć drukowanie XML z biblioteką Jacksona
- 10. Jakieś doświadczenie związane z migracją Flex 4?
- 11. Problemy z pamięcią sterty
- 12. Problemy z otwarciem RStudio
- 13. Problemy z łączeniem sqlite3
- 14. Problemy z zapleczem tkagg
- 15. Problemy z rozłożeniem luzu i problemy z pakowaniem
- 16. Przejrzystość z biblioteką obrazów w języku Python
- 17. Rysowanie linii wygładzanej z biblioteką obrazowania Pythona
- 18. Binarny link z biblioteką statyczną w xcconfig
- 19. wiadomość Forwarding z biblioteką TLSharp (C#)
- 20. Jak używać umlautów z biblioteką URI ruby
- 21. Każde doświadczenie z dobrym komponentem rysunku/biblioteką
- 22. Pomnóż filtr z biblioteką GD PHP
- 23. Niezdefiniowany symbol "typeinfo" z dynamicznie ładowaną biblioteką
- 24. nie można połączyć z biblioteką fftw3
- 25. Poszukuję AR z biblioteką rozpoznawania obrazów
- 26. YouTubePlayer wraz z biblioteką AppCompat v7
- 27. AppleScript, aby uruchomić iTunes z określoną biblioteką
- 28. NoClassDefFoundError z biblioteką pomocy Androida i Maven
- 29. Statyczne powiązanie biblioteki C z biblioteką Haskella
- 30. Usuń detektor zdarzeń z nową biblioteką
Czy można napisać jakiś kod na poczcie/githubie lub co najmniej jedną linię, aby mi podać odpowiedź? http://stackoverflow.com/questions/6924814 – balexandre
['NetPeerTcpBinding'] (https://msdn.microsoft.com/en-us/library/system.servicemodel.netpeertcpbinding%28v=vs.110%29.aspx) wydaje się być nieaktualne w .NET 4.5 niestety. –