請問要如何得知 目前的 IP |
|
cc_yuan
一般會員 發表:3 回覆:0 積分:0 註冊:2002-03-13 發送簡訊給我 |
|||
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 請問要如何得知 目前的 IP站長幫您找到一個元件(有source) 下載處 http://delphi.ktop.com.tw/loadfile.php?TOPICID=1648584&CC=36876 原文說明 QuickIP is a very simple application that shows you as soon as possible into the Taskbar Notification Area your IP address. It works on Lan or RAS connection. Animated icon and rounded form sample. For installation, see QuickIP.TXT. ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
||
pe8210
一般會員 發表:0 回覆:1 積分:0 註冊:2002-05-02 發送簡訊給我 |
|||
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|||
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 請問要如何得知 目前的 IP Function gf_LocalIP : String;// 取得個人電腦IP ADDRESS //此函式必須在uses多加一項Winsock 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:=inet_ntoa(pptr^[I]^); Inc(I); end; WSACleanup; end;
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
||
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|||
mihopaul
一般會員 發表:25 回覆:59 積分:16 註冊:2002-03-17 發送簡訊給我 |
|||
demon1042001
一般會員 發表:14 回覆:19 積分:6 註冊:2002-06-12 發送簡訊給我 |
|||
kynix
初階會員 發表:37 回覆:100 積分:37 註冊:2002-06-01 發送簡訊給我 |
這問題也困擾我好久,不過還是解決了,程式碼如下 function GetIP : 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]^));
Inc(I);
end;
WSACleanup;
end;
這個函示回傳的就是實體IP(Internet),開頭別忘了宣告。 程式就是藝術,藝術就是生命,生命就是美
------
智慧是命運的征服者 |
||
demon1042001
一般會員 發表:14 回覆:19 積分:6 註冊:2002-06-12 發送簡訊給我 |
kynix~~真是謝謝你,我還在想說所有內部及外部的ip都捉~~ ^^真高興
======================================
反正都是ip,這些也po 一 po uses winsock
-------
function IPAddrToName(IPAddr : String): String;
var
SockAddrIn: TSockAddrIn;
HostEnt: PHostEnt;
WSAData: TWSAData;
begin
WSAStartup($101, WSAData);
SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr));
HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
if HostEnt<>nil then
begin
result:=StrPas(Hostent^.h_name)
end
else
begin
result:='';
end;
end; function GetIpFromHost (HostName: string): string;
const HTTP = 'http://';
var VersionRequested : Word;
WSAData : TWSAData;
Host : PHostEnt;
s : array [0..128] of Char;
begin
if LowerCase (Copy (HostName, 1, Length (HTTP))) = LowerCase (HTTP) then
Delete (HostName, 1, Length (HTTP));
VersionRequested := MakeWord (1, 1);
WSAStartup (VersionRequested, WSAData);
StrCopy (s, PChar (HostName));
Host := GetHostByName (@s);
if Host <> nil then Result := Inet_Ntoa (PInAddr (Host^.h_addr_list^)^)
else
Result := '';
WSACleanup;
end;
|
||
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
引言: 這問題也困擾我好久,不過還是解決了,程式碼如下 ...我測試過了,抓到的仍是 LocalIP 如果不是我誤會意思的話.... 據我所知,所謂虛擬IP 跟真實IP 的意義 真實IP 是連 ISP 的窗口,也就是 LAN 對外(即連到ISP)唯一的合法窗口, 內部不管接了多少台電腦(每一個電腦綁一個不合法的IP,或稱虛擬IP),只要連到外面去,都會透過 Router 或 分享器中的 NAT 機制將內部 IP 轉成合法 IP 出去 , 所以內部 IP 連出去時會被轉換何種真實合法的 IP 是控制在 Router 或 分享器中的 NAT 機制中 , 內部電腦怎可能透過寫程式的方法得知自己連出去時會被分派到什麼真實 IP ??? 除非能寫程式問 Router 或 分享器中的 NAT 機制,不過這種程式可能不是一般人寫得出來的... |
||
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
[發表] WhatIsMyIP 顯示電腦的真實 IP ( WAN IP)
http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=85382 [發表] GetRealIP 顯示電腦的真實 IP ( WAN IP) http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=85381
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |