SoloCodigo
Programación General => C/C++ => C++ Builder => Mensaje iniciado por: ChangSoft en Jueves 3 de Julio de 2008, 17:02
-
Que tal como estan tengo un pequeño incoveniente, necesito saber si un equipo esta encendido y esta disponible en la red a traves de la direcion IP; segun lo estoy haciendo para un programa cliente que si esta disponible el servidor pues conectarse sino pues mandar un mensjae de avbiso que no se encuetra conectado y asi poderlo reportar al administrador.
Espero me puedan ayudar con esta gracias.
-
Usando la API que maneja ICMP.
http://tangentsoft.net/wskfaq/examples/dllping.html (http://tangentsoft.net/wskfaq/examples/dllping.html" onclick="window.open(this.href);return false;)
o el tipico ping con system()
ping program (http://www.tomshardware.com/forum/170071-46-ping-program-modify-working-program)
-
Lo que simplemente quieria saber es que si extiste tal direcion IP y por lotanto si esta disponible; para ello utilice:
bool __fastcall TWinPrincipal::DoPing(AnsiString IPDir)
{
AnsiString Arg="ping -n 1 "+IPDir;
return !system(Arg.c_str());
}
por lo tanto si utlizo :
if(!DoPing("208.67.220.220")) //sino hace ping
Application->MessageBox("La IP es incorrecta o Servidor Inactivo,"IP del servidor...",MB_OK | MB_ICONINFORMATION)
.
.
.
-
Ten en cuenta que si el cortafuegos (del SO o externo) no permite dicho protocolo, el equipo te aparecerá como no disponible.