獲取計算機的IP位址和計算機名

2021-04-27 02:41:50 字數 615 閱讀 8690

利用winsock函式獲取主機名和ip位址非常簡單,可以有很多種方法,最簡單的只需通過兩個函式gethostname和gethostbyname可以解決。

1、函式gethostname

該函式原型為:int gethostname( char* name, int namelen ); 

其中,引數name是乙個指向將要存放主機名的緩衝區的指標。namelen用於指定緩衝區的長度。該函式把本地上機名存放入由name引數指定的緩衝區中,返回的主機名是乙個以null結束的字元中。主機名的形式取決於winsock實現,它可能是乙個簡單的主機名,或者是乙個網域名稱。然而,返回的名字必定可以在gethostbyname()和wsaasyncgethostbyname()中使用。如果沒有錯誤發生,gethostname()返回0.否則它返回socket_error。

2、函式gethostbyname

該函式的原型為: struct hostent* gethostbyname( const char* addr );

其中,name為指向主機名的指標,它一般由函式gethostname返回。該函式返回對應於給定主機名的包含主機名和位址資訊的hostent結構指標,該結構的格式如下:

struct hostent

通過計算機名 獲取 IP

注意 紅色部分可能根據需要進行修改 yourtestpcname 即是你需要測試的計算機名稱 紅色的數字部分是由跟環境的ip位址有關聯 複製以下 到bat檔案即可。echo off set pcname color red yourtestpcname color ping pcname 4 ech...

根據計算機名獲取該計算機的所有IP

1.工程中新增命令列引數 socket程式設計 include winsock2.h pragma comment lib,ws2 32.lib include ws2tcpip.h 注意位置 int main int argc,char argv if argc 2 struct addrinfo...

獲取計算機的IP位址

網際網路協議位址 internet protocol address,又譯為網際協議位址 縮寫為ip位址 ip address ip位址是ip協議提供的一種統一的位址格式,它為網際網路上的每乙個網路和每一台主機分配乙個邏輯位址,以此來遮蔽實體地址的差異 可以通過cmd下的ipconfig命名獲取計算...