View Full Version : Verificare esistenza di PC in rete...
TonyManero
04-07-2007, 16:32
Salve a tutti...
Attualmente un mio programma controlla se esiste un PC in rete in questo modo
if (DirectoryExist(\\nomecomputer\SharedDocs)) ....
Mi fa un po' paura però basarmi sulla presenza di una cartella condivisa che non creo io...
C'è un altro modo altrettanto veloce, semplice ed efficente? Intendo senza agire sul server... tipo crearci dei file.. o altre cose.
Si può fare un ping da C???
TonyManero
13-07-2007, 15:15
Salve a tutti...
Attualmente un mio programma controlla se esiste un PC in rete in questo modo
if (DirectoryExist(\\nomecomputer\SharedDocs)) ....
Mi fa un po' paura però basarmi sulla presenza di una cartella condivisa che non creo io...
C'è un altro modo altrettanto veloce, semplice ed efficente? Intendo senza agire sul server... tipo crearci dei file.. o altre cose.
Si può fare un ping da C???
Provo un up... :D
Certo che puoi fare un ping:
system("ping nomehost > out.txt");
Dopo devi ovviamente aprire out.txt ed interpretare il risultato.
Sinceramente non mi sono mai posto il problema di fare un ping tramite codice, anche perchè effettivamente ICMP (il protocollo del ping) non si basa su TCP o UDP, ma solo su IP, quindi mi viene il dubbio che si debba usare i RAW socket.
Ho visto che MS ha anche le API per fare l'ICMP Echo (il ping appunto): http://msdn2.microsoft.com/en-us/library/aa366045.aspx
Ho visto che MS ha anche le API per fare l'ICMP Echo (il ping appunto): http://msdn2.microsoft.com/en-us/library/aa366045.aspxSì, è vero. Ma non basta usare semplicemente la sola IcmpCreateFile, c'è un po' di altre cose da fare ....
Appena ho tempo posto un sorgente di esempio, perché ho già avuto modo di usare queste API.
C'è già il sorgente con la IcmpSendEcho ;)
http://msdn2.microsoft.com/en-us/library/aa366050.aspx
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.