Condividi tramite


Esempio PeerToPeer Technology

Aggiornamento: novembre 2007

In questo esempio viene dimostrato come utilizzare le nuove classi nello spazio dei nomi System.Net.PeerToPeer per registrarsi e pubblicare un nome peer e risolvere quindi un nome peer.

Per informazioni sull'utilizzo degli esempi, vedere i seguenti argomenti:

Per generare l'esempio utilizzando il prompt dei comandi

  1. Aprire una finestra del prompt dei comandi e passare alla sottodirectory CS della directory PNRPSample. Per informazioni sulle impostazioni necessarie e sul prompt dei comandi dell'SDK, vedere Procedura: definire impostazioni di esempio.

  2. Digitare msbuild PNRPSample.sln dalla riga di comando. Questo comando compilerà entrambe le applicazioni PublishPeerName e ResolvePeerName.

Per generare l'esempio utilizzando Visual Studio

  1. Aprire Esplora risorse e passare alla sottodirectory CS della directory PNRPSample.

  2. Fare doppio clic sull'icona relativa a PNRPSample.sln per aprire il file in Visual Studio.

  3. Scegliere Genera soluzione dal menu Genera.

Entrambe le applicazioni PublishPeerName e ResolvePeerName vengono compilate nella directory predefinita \bin o \bin\Debug.

Per eseguire l’esempio

  1. Passare alla directory contenente i nuovi file eseguibili utilizzando la finestra del prompt dei comandi.

  2. Digitare PublishPeerName.exe dalla riga di comando con gli argomenti appropriati per eseguire l'applicazione PublishPeerName.

  3. Digitare ResolvePeerName.exe dalla riga di comando con i parametri appropriati per eseguire l'applicazione ResolvePeerName per il test dell'applicazione PublishPeerName.

Requisiti

Questo esempio richiede .NET Framework versione 2.0 SP1, versione 3.0 SP1 o versione 3.5 ed è supportato in Windows Vista (tutti gli SKU eccetto Windows Vista Starter Edition), Windows Server 2008 e Windows XP (vedere https://support.microsoft.com/default.aspx/kb/920342).

Dimostrazione

È stata aggiunta una serie di nuove classi negli spazi dei nomi System.Net.PeerToPeer e System.Net.PeerToPeer.Collaboration che supportano funzionalità di rete peer-to-peer e collaborazione per la condivisione di risorse fra peer.

In questo esempio viene illustrato l'utilizzo del protocollo PNRP (Peer Name Resolution Protocol), una tecnologia di risoluzione dei nomi senza server per pubblicare e risolvere un nome peer. Consente a un'applicazione di creare un identificatore (detto nome peer), associare tale identificatore ai dati (ad esempio, un indirizzo IP, un numero di porta e un blob binario di dati) e pubblicare queste informazioni per consentirne la risoluzione da parte di altri peer. Nell'esempio sono inclusi due progetti. Nell'esempio PublishPeerName viene descritto come creare e pubblicare un nome peer, mentre nell'esempio ResolvePeerName viene illustrato come risolvere un nome peer.

L'applicazione PublishPeerName richiede cinque parametri della riga di comando.

PublishPeerName.exe <peerNameClassifier> <peerNameType> <portNum> <comment> <cloudName:Available|AllLinkLocal|Global>

Di seguito sono elencati i parametri:

  • peerNameClassifier - Stringa definita dall'utente che verrà utilizzata come classificatore nel nome peer da pubblicare.

  • PeerNameType - Determina il tipo di istanza del nome peer da creare e registrare. I valori supportati sono Secured e Unsecured.

  • portNum - Numero della porta locale che verrà associato al nome peer al momento della registrazione.

  • comment - Stringa di commento da associare al nome peer. Questa stringa viene inoltre pubblicata e può essere risolta nei client PNRP.

  • cloudName - Ambito nel quale verrà pubblicato il nome peer. I valori supportati sono Available, AllLinkLocal e Global.

Di seguito è riportato un esempio di utilizzo:

PublishPeerName.exe MyClassifier Secured 8000 CommentString Available

L'applicazione ResolvePeerName richiede un parametro della riga di comando.

ResolvePeerName.exe <peerNameToResolve>

Di seguito è elencato il parametro:

  • peerNameToResolve - Nome peer che l'applicazione tenterà di risolvere.

Se l'applicazione ResolvePeerName viene completata, verranno visualizzati i risultati della risoluzione del nome peer.

Vedere anche

Riferimenti

System.Net.PeerToPeer

System.Net.PeerToPeer.Collaboration