【发布时间】:2019-10-11 04:48:20
【问题描述】:
https://docs.oracle.com/javase/7/docs/api/java/net/Inet6Address.html
public static Inet6Address getByAddress(String host,
byte[] addr,
int scope_id)
Inet6Address 应该包含类似sockaddr_in6 的无端口号(16 个地址字节加上本地链接的 scope_id),至少我是这么认为的。给定 16 个字节和范围 id,我想应该完全指定 Inet6Address,而不需要更多位。然而还有额外的论点host...
说明InetAddr.getByAddress(String,byte[])的文档链接,其中还包含不清楚的sn-p:
根据提供的主机名和 IP 地址创建 InetAddress。不检查名称服务的地址有效性。
主机名可以是机器名,例如“java.sun.com”,也可以是其 IP 地址的文本表示形式。也不对主机名进行有效性检查。
如果没有 DNS,那么为什么在已经提供字节的情况下还需要主机名?它可以与null 一起使用而不是主机吗?为什么没有getByAddress,只有addr 和scope_id(没有host)?
【问题讨论】:
标签: java networking