Fórum Descobrir IP #220889

17/03/2004

0

Tenho um servidor e qdo uma maquina fosse acessa-lo gostaria de descobrir o ip da maquina q está tentando acessar o servidor.. gostaria de saber se tem como fazer isso? alguem tem algum exemplo q possa me passar?


Feliperodrigues

Feliperodrigues

Responder

Posts

17/03/2004

Fabio.hc

Tente assim:

uses
  WinSock;

{$R *.dfm}

procedure TForm1.PegarIP();
type
   TAPInAddr = Array[0..100] of PInAddr;
   PAPInAddr = ^TAPInAddr;
var
   WSAData: TWSAData;
   Host, nHost: String;
   HostEntPtr: PHostEnt;
   pptr: PAPInAddr;
   i: Integer;
begin
      WSAStartUp( $101, WSAData );
      try

      Host := Trim( ´Nome do Servidor´ );

      // Get host entry by hostname
      HostEntPtr := GetHostByName( PChar( Host ) );
      if HostEntPtr = NIL then
         raise Exception.Create( ´WinSock error: ´ + IntToStr( WSAGetLastError() ) );

      // Make list of host IPs
      pptr := PAPInAddr( HostEntPtr^.h_addr_list );
      i := 0;
      while pptr^[i] <> NIL do
         begin
         nHost:=nHost+( inet_ntoa( pptr^[i]^ ) );
         Inc( i );
         end;

      except
         on E: Exception do
         begin
         Beep();
         ShowMessage( E.Message );
         end;
      end;

      WSACleanUp();

end;

end.



Responder

Gostei + 0

18/03/2004

Nildo

Hum... Nao eh bem isso que ele quer Fabio...
Bom, primeiramente voce vai ter que Hookar a funcao Accept atravez de um programa que voce tem que executar no Servidor. Nessa funcao Accept vai vir como parametro uma variavel TSocket, que a partir dela voce consegue o IP de quem tenta se conectar. Para Hookar funcoes voce pode usar o MadCollection: http://www.madshi.net/
Dae voce olha uns exemplos que tem na pasta Demo, que mostra como Hookar funcoes.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar