我使用XMLEncode
将一些网络数据存储在xml文件中,因为它非常方便。不幸的是,NetworkInterface
之类的某些类无法通过XMLEncoder
序列化(是正确的单词吗?)到xml。因此,我想简单地编写一个标识网络接口的字符串,并使用NetworkInterface
方法获取NetworkInterface.getByName()
实例。
我的问题:这个名称是否保证是唯一的,不会随着时间的推移而改变(假设机器的网络配置没有变化)?也就是说,一台机器上的这个名字总是要识别相同的网络接口吗?
答案 0 :(得分:1)
NetworkInterface的名称在同一台计算机上是唯一的(您的假设:网络配置没有变化),但名称根本不是全局唯一的。如果您需要这样的话,请查看MAC addresses。
但是,NetworkInterface的名称标识了一个虚拟接口(在Linux系统上,例如eth0用于以太网,ath0用于无线),目前我不明白为什么要存储接口名称,因为分配了IP地址对于这个界面,可以轻松改变。