Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Un ping in C# 2.0
Scritto da Fabrizio Furnari il 07-05-2007 ore 11:54
Intel Cluster Studio XE
In un articolo che ho scritto non molto tempo fa, parlavo della storia del programma ping, dalla nascita nel 1983 alle varie modifiche, che oggi sono implementabili tutti i sistemi operativi. La semplicità e la versatilità di questo indispensabile strumento sono visibili in un piccolo progetto di Stefan Prodan, ospitato su The Code Project.

Il programma, disponibile sia come eseguibile che come sorgente, è scritto in C# 2.0 ed è di una semplicità quasi disarmante, anche se analizzato in dettaglio contiene alcune intuizioni che possono far riflettere, soprattutto chi ha un po’ di dimestichezza con i protocolli di rete. Il programma si basa sulla classe Ping disponibile nel .NET 2.0, che appartiene al namespace System.Net.NetworkInformation e che costituisce il cuore delle 170 linee di codice, di cui è composta questa piccola applicazione console.

Tutto inizia con un controllo della connettività eseguito grazie alla DLL di sistema winnet. Se questo primo passo è andato a buon fine, si creano le istanze della classe Ping e PingOptions, a cui vengono passati alcuni parametri - TTL e frammentazione dei pacchetti - e vengono bufferizzati 32 byte, che verranno inviati successivamente attraverso il metodo Ping.send().

Gli argomenti possono essere passati sia tramite linea di comando, sia dopo l’esecuzione del programma. A questo punto è sufficiente saper sfruttare i metodi che la classe Ping mette a disposizione ed interpretare correttamente le risposte.

In realtà l’idea non è proprio di Stefan Prodan, ma piuttosto un’elaborazione di un precedente programma scritto da Wesley Brown, che girava sul .NET 1.1; rimane comunque il fatto che in poche linee di codice abbiamo un’applicazione utilissima e soprattutto ottima per chi volesse studiare il funzionamento dei protocolli di rete in C#.
Precedente: Dagli automi cellulari ad oggi (5/7)
Successiva: HP e nanotecnologia
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.346 secondi.