/*在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 ...