[PING IN C]sto jastemmiando

Allora devo fare un programma in C che controlli che un certo host risponda al ping, dove diavolo trovo una libreria che mi permetta di fare ciò senza diventare matto? HELP AIUTO!
ti do una soluzione del cazzo:
system("ping nome_host >file.output");

e poi leggi funziona sia in linux che in ambiente NT

comq seriamente non so aiutarti, ti direi di guardare come funziona il protocollo per fare i ping ma mi par di capire hce hai fretta
No fretta non ne ho. È che ho voglia zero di sbattermi però cazzo l'idea che mi hai datto non è mica stupida! funziona!!
sei interessato al tempo di risposta o solo a vedere se l'host è vivo?

in entrambi i casi non so aiutarti, ma devi saper usare i socket credo:

http://www.google.com/search?hl=en&lr=&safe=off&q=c+socket&btnG=Search
Innanzitutto ti consiglio di chiedere ad AndreaPlanet che ha scritto TPing (TruePing - http://www.andreaplanet.com/tping/ ).
Il programma è in C++ ma sicuramente può aiutarti.

Altre possibilità potrebbero essere (credo ):
1]utilizzare le API contenute in icmp.dll , distribuita con l'sdk di windows ma non supportata ufficialmente dalla Microsoft (tra le altre conseguenza questo significa documentazione quasi nulla).
http://support.microsoft.com/kb/q170591/
(Ammesso che su Xp ci sia ancora...)


2]Winsock 2 .0 (raw socket)
Dovresti trovare esempi a riguardo, e anche di programmi che eseguono proprio questo compito, sia nell'sdk di windows che nella documentazione fornita con Visual Studio.

Oppure anche su internet, per esempio: http://tangentsoft.net/wskfaq/examples/rawping.html

E c'è anche il sito della MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/tcp_ip_raw_sockets_2.asp
(c'è moltissima documentazione).

3] [C++] Si trovano su internet ,senza troppi problemi, classi che implementano già il ping.
Per esempio (questa in particolare è legata alle MFC): http://www.naughter.com/ping.html



anch'io avrei usato system

soluzione del caRRo ma funziona


visto che vuoi solo sapere se risponde o no (e non in quanti ms) system ti restituisce 0 o 1 a seconda se il comando dos è andato a buon fine o no, quindi basta un if
La soluzione piu' facile, come gia' ti hanno detto, e' usare il comando ping con una system.
In alternativa libnet + libpcap