如何獲得本機IP位址? |
答題得分者是:RaynorPao
|
clio4177
一般會員 發表:28 回覆:21 積分:9 註冊:2002-07-17 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
|
TIY~2
一般會員 發表:26 回覆:37 積分:22 註冊:2003-08-07 發送簡訊給我 |
//--------------ip & hostname & local ip-----------
struct hostent *thisHost;
struct in_addr in;
char MyName[80];
char *ptr,*hostname;
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(2,0);
err=WSAStartup(wVersionRequested,&wsaData);
if( err != 0 )return;
if( LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 0 )
{
WSACleanup();
return;
}
if( gethostname(MyName,80) == SOCKET_ERROR )return;
thisHost=gethostbyname(MyName);
hostname = thisHost->h_name;
memset((void*)&in,sizeof(in),0);
try{
in.s_addr = *((unsigned long*)thisHost->h_addr_list[1]); //1:抓對外ip //0:抓對內ip 還有其他IP的話依序1、2、3、4
ptr = inet_ntoa(in);
ip = AnsiString(ptr);
}catch(...)
{
}
try{
in.s_addr = *((unsigned long*)thisHost->h_addr_list[0]); //1:抓對外ip //0:抓對內ip
ptr = inet_ntoa(in);
localip = AnsiString(ptr);
}catch(...)
{
}
WSACleanup();
host = AnsiString(hostname);
//-------------------------------------------------
參考看看吧~~
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |