2010-12-30 10 views
5

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

0

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.

9

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.

+0

è possibile postare del codice su un post/github o almeno una riga per poter calcolare la mia risposta? http://stackoverflow.com/questions/6924814 – balexandre

+0

['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. –

Problemi correlati