1
我存儲在使用XMLEncode
一個XML文件中的一些網絡數據,因爲它真的很方便。不幸的是,像NetworkInterface
這樣的一些類不能被序列化(這是正確的詞?)到xml由XMLEncoder
。因此,我考慮簡單地編寫一個標識網絡接口的字符串,並通過使用NetworkInterface.getByName()
方法來獲取NetworkInterface
實例。Java:NetworkInterface.getName()是一個不會隨時間而改變的唯一標識符嗎?
我的問題:這個名字保證是唯一的,不隨時間而改變(假定沒有變化在本機的網絡配置進行)?也就是說,一臺機器上的這個名稱總是能夠識別相同的網絡接口?
我知道MAC地址,分配的IP可能會改變;這就是我考慮存儲接口名稱的原因,因爲從它的名稱中獲取接口的IP非常容易。但我想我會使用MAC地址來確保它正常工作。 – mort 2012-02-13 08:16:27
@mort如果您使用MAC地址或接口名稱,請記住,如果機器從無線更改爲以太網或其他方式,則可能沒有IP分配給您的存儲接口。更好的辦法是獲得所有接口,然後選擇最適合你的接口(即不是本地環路和分配的IP)。 – 2012-02-13 08:21:53
我存儲網絡接口的原因如下:運行軟件的機器通常具有多個網絡接口,這可能會導致RMI出現問題。因此,我想總是爲RMI使用相同的網絡接口。物理網絡配置不太可能改變。 – mort 2012-02-13 08:25:33