Windows端實現IP位址與網域名稱之間的轉換

2021-09-19 07:05:06 字數 2321 閱讀 6241

注意:博主用的visual studio 2015,在windows除錯程式需要鏈結ws2_32.lib庫,才能正常執行程式。

開啟專案的「property」->"linker"->"input"->"additional dependencies",或者你也可以通過快捷鍵alt+f7開啟property頁面. 不知如何操作,可以看

#define _winsock_deprecated_no_warnings

#include#include#include#pragma comment(lib, "ws2_32.lib")

void errorhandling(char *message);

int main(int argc, char *ar**)

if (wsastartup(makeword(2, 2), &wsadata) != 0)

errorhandling("wsastartup() error!");

host = gethostbyname(ar**[1]);

if (!host)

errorhandling("gethost.....error!");

printf("official name: %s\n", host->h_name);

for (i = 0; host->h_aliases[i]; i++)

printf("aliases %d: %s\n", i + 1, host->h_aliases[i]);

printf("address type : %s \n",(host->h_addrtype==af_inet)?"af_inet":"af_inet6");

for (i = 0; host->h_addr_list[i]; i++)

printf("ip addr %d: %s \n",i+1,inet_ntoa(*(struct in_addr*)host->h_addr_list[i]));

wsacleanup();

return 0;}

void errorhandling(char *message)

gethostbyname_win.c 執行結果:

gethostbyaddr_win.c 執行結果:

THinkPHP獲取客戶端IP與IP位址查詢的方法

查詢ip位址所在國家與地區的類檔案是iplocation.class.php,位於thinkphp lib org net目錄下。類名是iplocation,方法是 public function getlocation ip 省略時查詢客戶端ip所在位址。返回的是乙個陣列。沒有查到的話返回值為空 ...

MAC位址與IP位址

為 訪問控制,或稱為實體地址 硬體位址 用於識別資料鏈路中互連的節點。mac 位址與ip 位址,兩者之間分工合作,完成通訊。mac 位址長 48 位元,在使用網絡卡的情況下,mac位址一般會被燒入到 rom,因此任何一 個網絡卡的 mac位址都是唯一的,在全世界都不會有重複。每個nic 廠商識別碼,...

MAC位址與IP位址

計算機的ip位址有兩大部分組成,一部分為網路位址,一部分為主機位址,同一網段的計算機網路位址相同,路由器連線不同網段,負責不同網段之間的資料 交換機連線的是同一網段的計算機。計算機在和其他計算機通訊之前,首先要判斷目標ip位址和自己的ip位址是否在乙個網段,這決定了資料鏈層的目標mac位址是目標計算...