Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-03-2008
fide fide is offline
Miembro
 
Registrado: oct 2006
Posts: 331
Poder: 20
fide Va por buen camino
Por que cuando intento hacer ping con ese componente de la Indy desde una seccion que no es administrador en Windows XP SP2 me aparece el siguiente error.

Código:
Socket Error # 10013
Access denied.
Si alguien sabe que pasa, por favor que me ayuda!. Esto pasa solo si no soy administrador....
Responder Con Cita
  #2  
Antiguo 23-11-2011
jesconsa jesconsa is offline
Miembro
 
Registrado: dic 2009
Posts: 30
Poder: 0
jesconsa Va por buen camino
Hola. Eso pasa como ya habras visto por otros sitios porque la manera que tiene Indy de hacer el ping es a traves del Winsock 2 que tiene elementos de seguridad que le obligan a pasar por el Firewall. En cambio el Ping que utilizas en Windows es a traves de una dll, ICMP.DLL creo recordar, y esta dll es con raw sockets no sujetas a esas directivas de seguridad, por eso puedes hacer un ping desde el interprete de comandos sin tener que tocar el Firewall. Es la primera vez que hablo por aqui, no seais muy duros conmigo.

Saludos
Responder Con Cita
  #3  
Antiguo 23-11-2011
jesconsa jesconsa is offline
Miembro
 
Registrado: dic 2009
Posts: 30
Poder: 0
jesconsa Va por buen camino
Perdon, ICMP.DLL no es raw sockets. Una pregunta por si alguien me da alguna pista. LLevo algunos dias con IcmpClient de Indy y todo va bien, o casi. Lo que hago es una llamada en bucle para crear threads para hacer pings a equipos. No he reinventado la rueda sino que he estado mirando una rutina en Internet de alguien que ya la hizo. la rutina del ejecutable del Thread es la siguiente:


procedure TPingThread.Execute;
var
rp:TReplyStatus;
begin
FErrorCount := 0;
FAlarmed := false;

Ping := TIdIcmpClient.Create(nil);
Ping.FreeOnRelease;
Ping.Host := FHost;

Ping.PacketSize:=16;
Ping.OnReply := PingReply;
Ping.ReceiveTimeout := 1000;


try
// Lanzar el PING
Ping.Ping;
finally
FreeAndNil(Ping);
end;

end;


procedure TPingThread.PingReply(ASender: TComponent; const AReplyStatus: TReplyStatus);
begin

if (AReplyStatus.ReplyStatusType = rsTimeOut) or (AReplyStatus.ReplyStatusType = rsErrorUnreachable) then begin
Form1.Memo1.Lines.Add('Equipo caido.');
end else begin
Form1.Memo1.Lines.Add('Equipo OK');
end;

end;


Si comienzo el thread con Resume o Start para dos equipos (dos threads) resulta que si el primero tiene conexion y el segundo no, lo muestra bien en el Memo ,...pero si el primero NO tiene conexion y el segundo si, en el Memo se ve como el segundo da su mensaje de 'Equipo OK' y al llegar el Reply del primero (Timeout) me aparece tambien 'Equipo OK' como si fuera el otro equipo, es decir, cuando llega el timeout de uno es como si los Threads no estuvieran bien difrenciados y toma los datos del ultimo Thread que se ejecuto.......He probado con Synchronize y este tipo de cosas pero no he funcionado....

Alguna pista please?

Muchas gracias
Jesus
Responder Con Cita
  #4  
Antiguo 23-11-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Ping en segundo plano toorbye Internet 5 19-10-2006 13:52:32
ping a las computadoras chucoptero Internet 7 20-01-2006 18:47:18
ejecutar accion en un cliente fartycl Varios 4 03-10-2005 03:20:12
Ping no funciona Sirkius Internet 1 16-09-2004 19:13:45
ping NuncaMas Varios 5 30-10-2003 21:39:14


La franja horaria es GMT +2. Ahora son las 01:53:40.


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