Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

WCF, Peer-to-peer e i "seed server" di Microsoft

L'argomento mi appassiona molto, come si può notare da altri post :-) Per rimanere nel discorso del supporto specifico offerto da .NET Framework 3.5 al peer-to-peer, oggi vediamo qualche notiziola in più.

Supponiamo che io voglia realizzare un'applicazione di chat o messaggistica istantanea. Ho bisogno che la mia applicazione si colleghi a un server che smisti le richieste e mi metta in contatto con gli altri client connessi a quel server. Microsoft mette a disposizione dei server predefiniti, chiamati "seed server" e che sono stati creati apposta per fornire supporto al P2P con .NET Framework 3.5. Quando l'applicazione di chat viene avviata, pubblica sul seed server un identificatore chiamato "peer name" e si collega a detto server specificando un nome identificativo per la rete. Questa pubblicazione avviene mediante un servizio WCF, che utilizza un binding speciale chiamato NetPeerTcpBinding. Questo servizio, da un lato pubblica il peer-name e dall'altro consente di "risolverlo", cioè di ottenere il peer-name specificato in una data rete, consentendo a un altro client la connessione.

I seed server fanno parte di un concetto più ampio, chiamato PNRP (Peer Name Resolution Protocol) che è la piattaforma di supporto per le reti P2P inclusa di base in Windows Vista ed installabile separatamente anche su XP/Server 2003. Ogni seed server è denominato "nodo" all'interno del PNRP. Lo spazio su un seed server viene assegnato automaticamente al servizio WCF, senza che lo sviluppatore/utente si preoccupi di nulla.

Non so se sono riuscito a far capire con parole semplici questi concetti, comunque tutto questo sta alla base dei componenti Coding4Fun P2P Vista Toolkit, ospitati su CodePlex e gratuiti per Visual Studio 2008. Questo progetto fornisce un servizio WCF bell'e pronto e controlli utente che referenziano il servizio, permettendo l'accesso ai seed server (quindi creando applicazioni di chat) senza scrivere neanche una riga di codice. Sarà sufficiente, nell'interfaccia utente, specificare un nome utente più una password e un identificativo di rete (questi due devono essere uguali su tutti i client che si connettono) per accedere alla rete P2P senza alcuno sforzo nè necessità di predisporre un server o di impazzire pubblicando il servizio WCF su Internet Information Services. Pensano a tutto i seed server di Microsoft e Windows Communication Foundation.

Vi lascio qualche link di approfondimento:

Introduction to Windows Peer-to-peer Networking

Microsoft Peer-to-peer Networking Blog

Discussione publica intrattenuta da me con un progettista del P2P Vista Toolkit, che spiega un po' il discorso di cui sopra :-)

Alessandro

Print | posted on mercoledì 5 dicembre 2007 15:56 | Filed Under [ Windows Communication Foundation Windows 7 ]

Powered by:
Powered By Subtext Powered By ASP.NET