(轉貼) Linux下,獲得系統IP位址。

2021-05-17 17:17:05 字數 900 閱讀 6718

/*

在unix和linux系統下有兩種方法可以獲得系統ip位址(gethostbyname和ioctl)

gethostbyname通過網域名稱解析獲取對應計算機的網路位址,ioctl是一系列的網路函式獲得本機的ip

(推薦使用ioctl方法,這個方法能給出的ip與ifconfig命令顯示的ip一致,並且能不經修改的在arm板上正常執行。

而 gethostname()聯合gethostbyname()方法給出的ip與ifconfig給出的並不一致,無法使用[還不懂為什麼],並且在 arm板上不能正確執行。)

ioctl範例程式

*/#include

<

stdio.h

>

#include

<

sys/

types.h

>

#include

<

net/

if.h

>

#include

<

netinet/in

.h>

#include

<

sys/

socket.h

>

#include

<

linux

/sockios.h

>

#include

<

sys/

ioctl.h

>

#include

<

arpa

/inet.h

>

intmain(

void

)ifr++;

}return 0;

}

Linux下ifconfig不顯示ip位址問題總結

問題一 ifconfig之後只顯示lo,沒有看到eth0 eth0設定不正確,導致無法正常啟動,修改eth0配置檔案就好 ubuntu 12.04的網路設定檔案是 etc network inte ces,開啟檔案,會看到 auto lo iface lo inet loopback 這邊的設定是本...

linux 下獲得本機IP位址途徑

途徑1 通過gethostname和gethostbyname獲得 前提是在 etc hosts檔案中加入本機名稱 和 本機ip位址,例如 arm 192.168.0.11 通過gethostname得到本機名稱arm,將arm傳到gethostbyname中會得到乙個指向struct hosten...

WinSock網路程式設計筆記 獲得本地IP位址

每次寫網路程式都必須編寫 載入和釋放winsock庫,為了以後方便使用,我們將封裝乙個cinitsock類來管理winsock庫 initsock.件 include pragma comment lib,ws2 32 鏈結到ws2 32.lib class cinitsock cinitsock ...