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
Curtir tópico
+ 0
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.
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
Clique aqui para fazer login e interagir na Comunidade :)