我使用 XMLEncode
将一些网络数据存储在 xml 文件中,因为它确实很方便。不幸的是,一些类(如 NetworkInterface)无法通过 XMLEncoder 序列化(这个词正确吗?)为 xml。因此,我想到简单地编写一个标识网络接口(interface)的字符串,并使用 NetworkInterface.getByName()
方法获取 NetworkInterface
实例。
我的问题:这个名称是否确保是唯一的并且不会随着时间的推移而改变(假设机器的网络配置没有进行任何更改)?即,一台机器上的这个名称总是会标识相同的网络接口(interface)吗?
最佳答案
NetworkInterface 的名称在同一台计算机上是唯一的(您的假设:网络配置没有更改),但该名称根本不是全局唯一的。如果您需要这样的东西,请查看MAC addresses .
但是,NetworkInterface 的名称标识了一个虚拟接口(interface)(在 Linux 系统上,例如 eth0 表示以太网,ath0 表示无线),目前我不明白为什么要存储接口(interface)名称,因为分配给该接口(interface)的 IP 地址很容易更改。
关于Java:NetworkInterface.getName() 是一个不会随时间变化的唯一标识符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9256987/