Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-12-2007
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
¿Como hacer Ping desde codigo?

No encuentro la forma de hacer un ping desde código C++ a una dirección de Internet. El código en delphi también me puede servir aunque prefiero C++.

Si tenéis alguna sugerencia os lo agradecería mucho.

Saludos.
Responder Con Cita
  #2  
Antiguo 29-12-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
En Delphi puedes usar las Indi Clients - TIdIcmpClient.

Código Delphi [-]
procedure TForm1.BtnPingClick(Sender: TObject);
begin
   IdIcmpClient1.Host := '192.168.1.1';
   IdIcmpClient1.Ping;
end;

procedure TFMMain.IdIcmpClient1Reply(ASender: TComponent;
  const AReplyStatus: TReplyStatus);
begin
{TReplyStatus = record  
   BytesReceived: integer;  
   FromIpAddress: string;  
   MsgType: byte;  
   SequenceId: word;  
   MsRoundTripTime: longword;  
   TimeToLive: byte;  
   ReplyStatusType: 
   TReplyStatusTypes;  
end;

TReplyStatusTypes = (rsEcho, rsError, rsTimeOut, rsErrorUnreachable, rsErrorTTLExceeded);
}

end;
Responder Con Cita
  #3  
Antiguo 29-12-2007
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Gracias por tu pronta respuesta. No se porque tengo problemas para instalar Indi en mi viejo C++ Builder 5. Lo instalo pero no me funciona bien.

Si sabeis de otros componentes para hacer un ping o como hacerlo directamente por código.....
Responder Con Cita
  #4  
Antiguo 29-12-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Creo que el artículo Implementing PING without using raw sockets, de Zarko Gajic, puede serte de utilidad.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 29-12-2007
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por dec Ver Mensaje
Hola,

Creo que el artículo Implementing PING without using raw sockets, de Zarko Gajic, puede serte de utilidad.
Gracias por tu respuesta. Voy a mirar ese artículo.
Responder Con Cita
  #6  
Antiguo 30-12-2007
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
He mirado el artículo y funciona compilado en delphi, pero no ma funciona con Builder. El problema esta que una vez compilado con Builder C++ y al hacer el linkado, no encuentra las funciones externas que deben estar en icmp.dll y no puede crear el ejecutable.
Responder Con Cita
  #7  
Antiguo 30-12-2007
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
He conseguido linkar esas funciones externas de icmp.dll y ejecutar una prueba según lo que se exponía en: http://delphi.about.com/od/interneti.../aa081503a.htm

Pero no funciona bien, si reinicio el Router no debería poder hacer un ping a Google.com (64.233.187.99), por ejemplo. Sin embargo, en el momento que el Router me asigna una IP privada (Lan) puedo hacer ese ping, a pesar de no tener conexión Wan .

Mi intención es precisamente esa, saber si tengo conexión a internet, no red local. Para eso habia pensado, como solución, hacer un ping a una web estable como google o microsoft...
Responder Con Cita
  #8  
Antiguo 30-12-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Echa un vistazo a la Introducción al API WinInet de la Web de JM, particularmente, Funciones de estado de la conexión. Tal vez te resulte útil.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #9  
Antiguo 02-01-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Hola de nuevo.

Tras el fin de año....

He conseguido hacer ping por código. Gracias por las indicaciones. Por si a alguno le sirve, dejo unos links interesantes que me han servido para hacer mi código:
http://msdn2.microsoft.com/en-us/library/aa366050(VS.85).aspx
http://www.sockets.com/
http://www.sockets.com/ms_icmp.c
http://lawebdejm.com/prog/cpp/winine....html#subapdo8
Responder Con Cita
  #10  
Antiguo 02-01-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Oye... un poco del código, quizás en forma de truco no nos vendría nada mal.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #11  
Antiguo 03-01-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Al parecer hay problemas con el editor de trucos. Cuando funcione con normalidad editare el truco.

Saludos.
Responder Con Cita
  #12  
Antiguo 03-01-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
He reportado el problema en la sección de moderadores, a espera que Emilio lo revise.

Por lo que he podido ver, los problemas reportados tienen que ver con la integración de la página con el resto de los foros, pero supongo que si es posible publicar el truco.

Notificaré cuando el problema haya sido resuelto por el capo.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #13  
Antiguo 03-01-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Hola de nuevo.

Emilio se ha ensuciado las manos, pero la sección de trucos está 100% ahora. Gracias por el reporte, y adelante... a escribir el truco!.

Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #14  
Antiguo 04-01-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
El truco está publicado con el Nº 456.

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
hacer un ping a traves de un proxy JoeyJordison Redes 0 19-01-2007 14:15:14
Como hacer print screen por código?? JuanErasmo C++ Builder 3 22-12-2005 23:53:27
como hacer un ping.... killaton Internet 8 26-03-2005 20:21:10
como vincular .dbf en acccess por codigo? o como acceder a ellas desde desde .mdb orfeo Conexión con bases de datos 0 24-06-2004 15:35:21
¿Que formas hay de hacer un Sweep desde código? taote Firebird e Interbase 0 03-02-2004 16:57:00


La franja horaria es GMT +2. Ahora son las 20:11:07.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi