如何取得 Java 機器的正確 IP 位址?
使用Java來取得目前機器的IP位址
在分散式系統中,節點之間經常使用IP位址進行通訊。然而,由於可能存在多個網路介面和不同類型的 IP 位址,取得目前電腦的正確 IP 位址可能具有挑戰性。
決定適當的 IP 位址
預設情況下,InetAddress.getLocalHost() 傳回第一個活動網路介面的 IP 位址。但是,這可能並非在所有情況下都是所需的位址,特別是當需要特定 IP 位址(例如 PPP IP 或 LAN IP)時。
迭代網路介面
一種方法是使用 NetworkInterface.getNetworkInterfaces() 取得機器上的所有網路介面。然後可以使用 getInetAddresses() 檢查每個介面的可用 IP 位址。透過迭代所有可用的 IP 位址,可以識別所需的 IP 類型(例如 PPP、LAN)。
範例程式碼
以下程式碼片段示範如何遍歷網路介面並顯示與每個介面相關的 IP位址介面:
Enumeration e = NetworkInterface.getNetworkInterfaces(); while(e.hasMoreElements()) { NetworkInterface n = (NetworkInterface) e.nextElement(); Enumeration ee = n.getInetAddresses(); while (ee.hasMoreElements()) { InetAddress i = (InetAddress) ee.nextElement(); System.out.println(i.getHostAddress()); } }
區分IP位址
取得IP位址後,可以透過檢查IP位址類型來區分。環回位址(127.0.0.1)、私人(站點本地)位址(192.168.x.x、10.x.x.x、172.16.x.x)、連結本地位址(169.254.x.x)、多重播送位址(224.x.x.x) 位址(255.255) .255.255)可以使用提供的方法進行識別InetAddress API。
選擇正確的 IP 位址
選擇正確 IP 位址的特定標準將根據應用程式的要求而有所不同。一般來說,可以考慮以下步驟:
- 檢查可公開存取的 IP 位址(不是環回、本地連結或私人)。
- 如果可用,請使用 PPP IP位址。
- 如果 PPP IP 不可用,請使用 LAN IP 位址。
- 作為最後的手段,請使用127.0.0.1.
以上是如何取得 Java 機器的正確 IP 位址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

將姓名轉換為數字以實現排序的解決方案在許多應用場景中,用戶可能需要在群組中進行排序,尤其是在一個用...

系統對接中的字段映射處理在進行系統對接時,常常會遇到一個棘手的問題:如何將A系統的接口字段有效地映�...

在使用MyBatis-Plus或其他ORM框架進行數據庫操作時,經常需要根據實體類的屬性名構造查詢條件。如果每次都手動...

在使用IntelliJIDEAUltimate版本啟動Spring...

Java對象與數組的轉換:深入探討強制類型轉換的風險與正確方法很多Java初學者會遇到將一個對象轉換成數組的�...

電商平台SKU和SPU表設計詳解本文將探討電商平台中SKU和SPU的數據庫設計問題,特別是如何處理用戶自定義銷售屬...

Redis緩存方案如何實現產品排行榜列表的需求?在開發過程中,我們常常需要處理排行榜的需求,例如展示一個�...
