Ir para conteúdo
Fórum Script Brasil
  • 0

Verificar se ip responde e abrir página.


wmo.btu

Pergunta

Boa noite pessoal.

Bom primeiramente gostaria de agradecer as possíveis sugestões e ajudas que virão.

Então vamos lá, não conheço nada de delphi e surgiu 1 desafio pra mim, preciso fazer um sisteminha que verifica 2 números de ip's.

Seria isso:

1° número ex. 192.168.x.x = se esse ip responder eu irei carregar uma página web nele, ex 192.168.x.x:8080, caso não responda irei fazer outro teste em outro ip que seria o 2º número ex. 192.168.y.y = se ele responder irei carregar uma página web nele, ex. 192.168.y.y:8080, caso ele também não responda irei exibir uma mensagem dizendo pra entrar em contato com o administrador e tal....

lembrando que esse ip's são servidores.

É isso q gostaria de verificar e fazer com esse sistema, basicamente saber se o 1° servidor está ok e abrir a página, caso contrário vou para o 2° e estando ok abro a mesma página, caso contrario exibo 1 mensagem de erro e peço q entre em contato.

Seria possível?

Obrigado.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

voce pode experimentar esse código

uses winsock;

function GetLocalIP : string; 
type 
TaPInAddr = array [0..10] of PInAddr; 
PaPInAddr = ^TaPInAddr; 
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 Exit; 
pptr := PaPInAddr(Phe^.h_addr_list); 
I := 0; 
while pptr^[I] <> nil do begin 
result:=StrPas(inet_ntoa(pptr^[I]^)); 
result := StrPas(inet_ntoa(pptr^[I]^)); 
Inc(I); 
end; 
WSACleanup; 
end;

ou faça uma pesquisa no forum pela palavra descobrir ip

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

exemplo de uso

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses winsock;

function GetLocalIP : string;
type
   TaPInAddr = array [0..10] of PInAddr;
   PaPInAddr = ^TaPInAddr;
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 Exit;
   pptr := PaPInAddr(Phe^.h_addr_list);
   I := 0;
   while pptr^[I] <> nil do begin
      result:=StrPas(inet_ntoa(pptr^[I]^));
      result := StrPas(inet_ntoa(pptr^[I]^));
      Inc(I);
   end;
   WSACleanup;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
   showmessage('ENDEREÇO IP = ' + GetLocalIP);
end;

end.

OBS: ao clicar no botão, voce vera a mensagem mostrando o numero do IP da sua conexão

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...