java - 为什么 NetworkInterface 的方法会抛出 SocketException

标签 java sockets exception network-programming jvm

例如 - public byte[] getHardwareAddress() throws SocketException 。 该方法返回网络接口(interface)的 MAC 地址,但它与套接字有何关系并最终抛出 SocketException

最佳答案

在 Linux 上 getHardwareAddress() 是使用 SIOCGIFHWADDR 实现的对临时创建的数据报套接字的 ioctl 请求。类似于 this .

socketioctl 系统调用都可能失败。该错误将被转换为 SocketException

关于java - 为什么 NetworkInterface 的方法会抛出 SocketException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26632334/

相关文章:

java - 使用 jenkins 将 war 文件部署到 jetty

java - 有没有办法使用传递的类对象的方法?

c - 在C++中通过 'recv'和 'MSG_PEEK'获取套接字中可用的字节数

c++ - 将 sockaddr 中的 IP 地址转换为 uint32_t

java - 是否可以在外部 JAR 中的方法上使用 "throws"

python - 如何消除“sys.excepthook丢失”错误?

java - 将文本粘贴到 JTextComponent 后获取操作 (Java)

java - 在非测试代码中使用 Hamcrest 匹配器是否可以接受

javascript - 向特定的套接字 ID 发送私有(private)消息

java - 常见的下溢和上溢异常