Java:NetworkInterface.getName()是一个不会随时间变化的唯一标识符吗?

时间:2012-02-13 07:35:19

标签: java xml network-programming

我使用XMLEncode将一些网络数据存储在xml文件中,因为它非常方便。不幸的是,NetworkInterface之类的某些类无法通过XMLEncoder序列化(是正确的单词吗?)到xml。因此,我想简单地编写一个标识网络接口的字符串,并使用NetworkInterface方法获取NetworkInterface.getByName()实例。

我的问题:这个名称是否保证是唯一的,不会随着时间的推移而改变(假设机器的网络配置没有变化)?也就是说,一台机器上的这个名字总是要识别相同的网络接口吗?

1 个答案:

答案 0 :(得分:1)

NetworkInterface的名称在同一台计算机上是唯一的(您的假设:网络配置没有变化),但名称根本不是全局唯一的。如果您需要这样的话,请查看MAC addresses

但是,NetworkInterface的名称标识了一个虚拟接口(在Linux系统上,例如eth0用于以太网,ath0用于无线),目前我不明白为什么要存储接口名称,因为分配了IP地址对于这个界面,可以轻松改变。