2012-06-24 164 views
1

可能重複:
Get the IP Address of local computer
Obtaining local IP address using getaddrinfo() C function?檢測是否地址(主機)解析爲本地計算機

我需要考慮的不是127.0.0.1其他IP,並實現也必須檢測主機文件條目或其他方法。

有沒有任何方法/ api /函數來直接檢查一臺特定的主機是否解析到本地機器?

+0

可能重複[獲取本地計算機的IP地址](http://stackoverflow.com/questions/122208/get-the-ip-address-of-local-computer),[使用getaddrinfo獲取本地IP地址()C函數?](http://stackoverflow.com/questions/2146191/obtaining-local-ip-address-using-getaddrinfo-c-function) –

+1

我不同意關於重複的決心 - 其他問題問如何枚舉本地地址。這是一個更具體的問題。國際海事組織一個簡單的測試是創建一個UDP套接字並將其綁定到有問題的地址。如果成功則是本地的,否則不是。如果您的興趣只在一個地方,您不需要掃描N地址列表! – nhed

回答

2

取決於操作系統。但是你枚舉IP接口,檢查每個IP配置的IP地址,然後你可以將IP地址與本地IP列表進行比較。

要在主機名上執行此操作,您需要使用DNS將主機名解析爲IP,然後如上所述檢查本地IP接口。

我不知道任何操作系統的功能,只是爲你做這個。