【发布时间】:2018-01-12 17:46:11
【问题描述】:
我正在更新代码以接受客户端 ip6 地址。
我的代码通常会打开一个服务器套接字并监听传入的客户端连接,一旦连接了客户端,将检索 IP 地址并通过 diff 端口连接回客户端(用于我们不同的工作流程)。
目前我检索连接的客户端套接字的ip地址如下:
Socket socket = m_serverSocket.accept();
String ipAddress = socket.getInetAddress().getHostAddress();
如果我使用与上面相同的代码来接受 ip6 客户端套接字连接,那么我是否应该更改我的代码以正确检索 ip6 地址。
我问这个是因为 ip6 地址有多个如下: IPv6 地址。 . . . . . . . . . . : ab34:342:34d:234:234b:df44:5c0:401d 临时 IPv6 地址。 . . . . . : 3450:2e2:87c:984:edad:3452:7635:f654 链接本地 IPv6 地址 。 . . . . : vf80::432b:f654:6f0:572e%11
当我从上述系统建立客户端连接时,我通过服务器套接字获取临时 ipv6 地址作为 ip 地址。
它会在服务器套接字上为传入的客户端套接字连接获得链接本地 ipv6 地址吗?
我之所以问这个是因为如果客户端套接字给出链接本地ipv6地址,我需要解析正确的ip6地址。
感谢收看。
【问题讨论】:
-
通常你只会在开发过程中看到一个本地链接地址,因为它们只在同一个局域网上可见。如果你不只是看到
localhost,即::1。