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

标签 java xml network-programming

我使用 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/

相关文章:

java - 在测试和生产中具有不同模式的 JPA 实体

java - XML 2.0 RSS 提要处理 Android

c# - 如何重命名 XML 序列化列表 <string> 中使用的子 XML 元素?

xml - 不同的元素和分组

c# - 判断 SQL Server 是否可用的最快方法

java - 从服务器向客户端发送消息

c++ - Python sprintf 和 memset 操作

java - 如何用 Java 将一个 wav 文件分成 1 秒的片段?

java - 编辑 TextFieldListCell 时会显示相应的类

java - 如何在 Spring session 中存储每个用户的数据?