Ho esaminato lo spazio dei nomi per System.Net.PeerToPeer in .NET 4.0 e le classi fornite in questa libreria sembrano essere ragionevolmente buone per la creazione di reti P2P. Tuttavia, quando cerco esempi e riferimenti, posso trovare solo vecchi esempi o riferimenti obsoleti che puntano semplicemente alla documentazione MSDN. Sembrerebbe che non molta gente stia usando questa libreria e che non ci sia molto sforzo in questo prodotto. Qualcuno sa di problemi con questa libreria che non sono a conoscenza di ciò potrebbe convincermi a non usarlo? Ho visto che le versioni precedenti di Windows non lo supportavano, ma per me non è uno show stopper. C'è niente altro?Eventuali problemi con la libreria System.Net.PeerToPeer?
risposta
Questa API è basata su PNRP. Richiede connettività IPv6 (almeno tramite Teredo); questo in genere non è disponibile nelle installazioni di oggi e richiede uno sforzo amministrativo per configurarlo. Credo che sia la ragione principale per cui c'è così poco interesse in esso.
Devo non essere d'accordo con la risposta precedente.
Mentre i meccanismi P2P integrati in .NET utilizzano PNRP, gli esempi limitati online hanno più a che fare con l'ignoranza degli sviluppatori che con qualsiasi limitazione di rete.
Ho sviluppato un'applicazione P2P piuttosto complessa utilizzando il canale peer/netPeerTcpBinding. Questa applicazione funziona praticamente senza problemi su Windows XP SP3 o versioni successive e funziona su Internet.
IPv6 è installato e abilitato per impostazione predefinita su XP SP3 +, come ogni altro componente richiesto da PNRP. Questo significa che probabilmente il 95% della tua base di installazione potenziale ha già tutti i prerequisiti per la tua applicazione.
Sì, la macchina locale deve avere alcune porte sbloccate, ma questo può essere fatto dall'installatore molto facilmente. L'infrastruttura di rete stessa non ha bisogno di bloccare esplicitamente Teredo, che opera sulla porta UDP 3544. La versione 2 di PNRP (XP SP3 +) funziona su tutte le varianti NAT.
Finché tali condizioni sono soddisfatte, è possibile impostare facilmente una rete P2P su Internet pubblica senza modifiche all'infrastruttura di rete esistente.
- 1. Eventuali problemi del browser incrociato con document.documentElement
- 2. Eventuali bug o problemi significativi con Android Databinding Library?
- 3. Problemi con la libreria wxWidgets 3.0.2 sotto Mingw 64
- 4. android - tanti problemi con la libreria di espansione
- 5. Eventuali concorsi o set di problemi Haskell online?
- 6. Eventuali problemi di conversione del campo MySQL TEXT in MEDIUMTEXT?
- 7. Codice Windows 7 e VB Classic: eventuali problemi di runtime?
- 8. Eventuali problemi di moltiplicazione con potenziale overflow e quindi verifica con divisione?
- 9. Eventuali puntatori sull'utilizzo di Ropevim? È una libreria utilizzabile?
- 10. Problemi con la mappa()
- 11. Eventuali problemi evidenti o miglioramenti per la coda dei consumatori del produttore
- 12. Problemi FFI con la racchetta e Chipmunk
- 13. Problemi nella creazione di una libreria Android con codice nativo
- 14. Problemi con la perforatura TCP
- 15. problemi con la funzione strtolower
- 16. Problemi con la matrice Javascript
- 17. Problemi con ld e libreria statica "riferimento non definito a"
- 18. Problemi con la compressione in javascript
- 19. Eventuali tutorial per la programmazione dell'SDK Win32?
- 20. Problemi con javascript "parseInt()"
- 21. Eventuali esperienze con C# e ZeroC ICE
- 22. Eventuali alternative reddit?
- 23. Devo usare OkHttp con la libreria Volley?
- 24. Eventuali raccomandazioni per PDF 3D SDK con interfaccia C++
- 25. Eventuali altri temi GXT?
- 26. Redux & RxJS, eventuali somiglianze?
- 27. Problemi con la bubbeling di eventi (ScrollViewer)
- 28. Report Crystal e problemi con la connessione
- 29. Problemi con la codifica dell'intestazione PHP Mailer
- 30. Lucido: problemi con la reattività renderUI
è possibile postare del codice su un post/github o almeno una riga per poter calcolare la mia risposta? http://stackoverflow.com/questions/6924814 – balexandre
['NetPeerTcpBinding'] (https://msdn.microsoft.com/en-us/library/system.servicemodel.netpeertcpbinding%28v=vs.110%29.aspx) sembra che sia stato reso obsoleto in .NET 4.5 sfortunatamente. –