Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-05-2004
jorch_yr jorch_yr is offline
Miembro
 
Registrado: ago 2003
Posts: 26
Poder: 0
jorch_yr Va por buen camino
Unhappy problemas para averiguar el estado de la conexion

HOLA!!!

De casualidad alguno save un buen metodo para averiguar el estado de la coneccion (conectado o desconectado).
Tengo conexion ADSL 256 por un modem Cisco 677 que se conecta a la placa de red y tengo Win98 y uso WinPoET.

Probe un monton de metodos y ninguno me dio un buen resultado..

Metodo 1:
usando URL.dll

function InetIsOffline(Flag: Integer): Boolean; stdcall; external 'URL.DLL';

Metodo 2:

Usando: WinInet

procedure TForm1.Button1Click(Sender: TObject);
var conectado:boolean;
begin
conectado:= internetgetconnectedstate(0,0);
label1.Visible:=true;

if conectado then
begin
label1.Caption:='SI';
end
else
begin
label1.Caption:='NO';
end;
end;

El problema que tengo con estos dos metodos es que me dice que estoy Conectado cuando en realidad estoy desconectado.
Responder Con Cita
  #2  
Antiguo 26-05-2004
Avatar de acertij022
acertij022 acertij022 is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina-Bs. As.
Posts: 233
Poder: 22
acertij022 Va por buen camino
Lightbulb

Código Delphi [-]
function InternetConnected:Boolean;
   function LocalIP:string;
   var
       phe : PHostEnt;
       pptr : PaPInAddr;
       Buffer : array [0..63] of char;
       I : Integer;
       GInitData : TWSADATA;
   begin
       WSAStartup($101, GInitData);
       Result := '';
       GetHostName(Buffer, SizeOf(Buffer));
       phe :=GetHostByName(buffer);
       if phe = nil then
       begin
          Exit;
       end;
       pptr := PaPInAddr(Phe^.h_addr_list);
       I := 0;
       while pptr^[i] <> nil do
       begin
          Application.ProcessMessages;
          result:=StrPas(inet_ntoa(pptr^[i]^));
          Inc(I);
       end;
       WSACleanup;
   end;
var
   S:string;
begin
   S:=Copy(LocalIP,1,3);
   Result:=(S < '255') and (S > '127');
end;


Esta funsión ami me funciona espero que te sea de utilidad
Responder Con Cita
  #3  
Antiguo 27-05-2004
Amilius Amilius is offline
No confirmado
 
Registrado: ene 2004
Posts: 138
Poder: 0
Amilius Va por buen camino
Buen código acertij022, de todas formas tal vez haciendo un "ping" a una direccion que sabemos que siempre estará activa como "www.microsoft.com". Si no está activa: no estás conectado. S sólo fallaría si cayera esa dirección, o sea en un día de fiesta mundial a sí que no importaría mucho. Lo malo es que no sería muy "inmediata" la cosa, un ping se toma su tiempo hasta desistir.
Responder Con Cita
  #4  
Antiguo 27-05-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Creo que hacer ping a algunos servidores dará pocos resultados... sobre todo porque varios ataques del tipo DOS se han basado en echo, y muchas redes simplemente lo tienen deshabilitado e incluso filtrado en los firewalls.

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
  #5  
Antiguo 28-05-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
El ICMP Flood Trata de un ataque DoS:Denial Of Service o Denegación de Servicio, basado en el consumo de internet que ocupa el obtener el ping y en procesas su respuesta, enviado (como todos los flood) constantemente pings para saturar el servidor.

Estoy seguro que Microsoft no envía reply o respuesta, y me acabo de cercionar ahora mismo de que es así, no lo envía. Microsoft no teme un ataque de una computadora, sino un ataque DDos o Distributed Denial of Service de un gusano que infecte computadoras e ataque cada una con un ICMP Flood (2.000 computadoras, por lo bajo de infección de un gusano nuevo, bajaría el rendimiento de sus servidores), estilo blaster (a diferencia que el blaste atacaba a SCO y que su ataque era Floodear mediante peticiones HTTP):


Jachgute, creí que debía aumentar la información, por si alguien duda de como, con un ping, se podía hacer daño.
__________________
:)

Última edición por DarkByte fecha: 28-05-2004 a las 08:23:19.
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


La franja horaria es GMT +2. Ahora son las 07:04:16.


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