Merhaba
delphi 2006 nın indy component setinden faydaanarak networkteki programın calistigi local ip numarasını nasıl ogrenebilirim.
Mesela ekranın en altında local ip nosu yazdırmak istiyorum.
local ip + delphi 2006 + indy
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Indy Kullanmadan şöyle :
Indy Kullanarak Şöyle :
Kullanımlarını tahmin edersin...
veya
Networkdeki programın bu şekilde kendi IP'sini öğrenir ve sana söyler...
- Networkdeki programın çalıştığı bilgisayarının network adını biliyorsan ondan da yola çıkarak öyle de IP'sini öğrenebilirsin. Buna gerek varsa söyle..
Kod: Tümünü seç
// Uses Winsock
function LocalIP : String;
type
TArrayPInAddr = array [0..10] of PInAddr;
PArrayPInAddr = ^ TArrayPInAddr;
var
phe : PHostEnt;
pptr : PArrayPInAddr;
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 := PArrayPInAddr(phe^.h_addr_list);
i := 0;
while pptr^[i]<>nil do
begin
result := StrPas(inet_ntoa(pptr^[i]^));
Inc(i);
end;
WSACleanup;
end;
Kod: Tümünü seç
// Uses TidIPWatch
function GetLocalIP: String;
Var
IPWatch : TidIPWatch;
begin
Result := '0.0.0.0';
IPWatch := TIdIPWatch.Create(nil);
try
IPWatch.HistoryEnabled := FALSE;
IPWatch.Active := TRUE;
if IPWatch.ForceCheck then
begin
Result := IPWatch.LocalIP;
end;
IPWatch.Active := FALSE;
finally
IPWatch.Free;
end;
end;
Kod: Tümünü seç
ShowMessage( LocalIP );
Kod: Tümünü seç
ShowMessage( GetLocalIP );
- Networkdeki programın çalıştığı bilgisayarının network adını biliyorsan ondan da yola çıkarak öyle de IP'sini öğrenebilirsin. Buna gerek varsa söyle..