Ant*_*nio 2 java network-programming ipv6
当我调用方法时NetworkInterface.getInetAddresses(),我得到以下字符串:
"fe80:0:0:0:f06c:31b8:cd17:5a44%5"
Run Code Online (Sandbox Code Playgroud)
我想知道这%5意味着什么?没有这个可能会有IPv6地址%5吗?
它在这里解释:
指定scope_id的一般格式如下:
Run Code Online (Sandbox Code Playgroud)*IPv6-address%scope_id*IPv6地址是如上所述的文字IPv6地址.该 scope_id指的是本地系统上的一个接口,它可以通过两种方式来指定.
作为数字标识符.这必须是一个正整数,用于标识系统所理解的特定接口和范围.通常,数值可以通过系统上的管理工具确定.每个接口可以有多个值,每个范围一个.如果未指定范围,则使用的默认值为零.
作为一个字符串.这必须是NetworkInterface.getName()为相关特定接口返回的确切字符串.以这种方式创建Inet6Address时,通过查询相关的NetworkInterface在创建对象时确定数字scope-id.
另请注意,可以从NetworkInterface类返回的Inet6Address实例中检索数字scope_id.这可用于查找系统上配置的当前范围ID.