的接口,我如何才能獲得網絡接口重新連接到我的機器上的每個IP? IP包括:靜態IP,動態IPC++ linux - 在C++ linux應用程序中獲取IP
注:我不能使用系統調用,則getnameinfo
10X
的接口,我如何才能獲得網絡接口重新連接到我的機器上的每個IP? IP包括:靜態IP,動態IPC++ linux - 在C++ linux應用程序中獲取IP
注:我不能使用系統調用,則getnameinfo
10X
可以使用getifaddrs通話;但是,請注意,這隻能檢索每個接口一個地址。如果這還不夠,請通過netlink套接字使用rtnetlink協議; libnetlink可能會使這更容易。
`getifaddrs()`使用netlink實現(在Linux上)。它是正確的接口(它可以爲每個接口返回多個地址 - 它們只出現在多個`struct ifaddrs`中)。 – caf 2011-01-24 12:59:27
這樣做相當棘手,我相信你需要有root權限。您需要發出一個ioctl
(類似SIOCGIFCONF
),然後將返回所有接口的列表,然後你就可以發出進一步ioctl
呼叫提取狀態信息等
根本不需要,SIOCGIFCONF也不是及時的界面。避免。 – user562374 2011-01-24 11:50:57
習題這個問題可以幫助你:HTTP:// stackoverflow.com/questions/212528/linux-c-get-the-ip-address-of-local-computer – 2011-01-24 11:45:38