- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
java.net.InetSocketAddress 和 java.net.SocketAddress 是否支持 IPv6?
因为我研究和尝试的两个类无法让我查看 ipv6 连接,所以它只能查看 ipv4 连接,有人尝试过并能够编辑代码吗?
最佳答案
对您的问题的部分回答,即使它可能来不及立即使用 =)。
我有以下几行代码尝试连接到两个不同的 IP 地址:
// Defined port must be 13; that is NIST's default listening port.
SocketAddress socketAddress = new InetSocketAddress(currentIpAddress, 13);
socket = new Socket();
socket.connect(socketAddress, nistServerTimeoutInMilliseconds);
第一个地址工作正常:'206.246.122.250'
第二个地址在第三行抛出“java.net.SocketException: Protocol family unavailable”。该地址是“2610:20:6F15:15::27”。
一开始以为是Java 1.7的InetSocketAddress不支持IPv6的问题,后来发现Java中其实有两个继承自InetAddress类的类:Inet4Address和Inet6Address
http://docs.oracle.com/javase/6/docs/api/java/net/Inet4Address.html http://docs.oracle.com/javase/7/docs/api/java/net/Inet6Address.html
这解释了为什么我的代码在尝试使用 IPv6 格式构造 Inet4Address 时失败了,它也可以解释您的问题。
希望这有帮助 =)
附言InetAddress 和 InetSocketAddress 不是同一个类,但通过测试您正在处理的 IP 地址类型,可能有一种方法可以解决该问题。
关于java.net.InetSocketAddress 和 java.net.SocketAddress 是否支持 IPv6?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14330583/
有没有办法将字符串参数传递给 InetSocketAddress 的参数? 这是生成代理的正确方法: SocketAddress addr = new InetSocketAddress("127.0
我正在尝试填充主机 header 。我已经为我的示例插入了虚拟数据,但我想知道我是否正确填充了该数据。当检查地址的值时,它似乎与我的预期不同。我期望 [域名]:[端口],但我看到 [域名]/[IP 地
我有以下代码: socket.connect(new InetSocketAddress(serverHost, serverPort), CONNECT_TIMEOUT); 问题是当 DNS 不可访
在构造函数的文档中 InetSocketAddress(int port)它说: Creates a socket address where the IP address is the wildca
谁能解释一下 InetAddress 之间有什么区别吗?和 InetSocketAddress java中的类,如果有差异,请解释相同。我用谷歌搜索了它,但找不到任何解释。 最佳答案 InetAddr
我在与主机名中带有重音符号 (é è ô...) 的服务器建立连接时遇到问题。 例如: String oUrl = "www.hôtel.fr"; System.out.println(oUrl)
我需要为 InetSocketAddress 编写 Comparator,这样我就可以在 TreeSet 中使用此类。它们需要通过地址和端口进行比较。 代码看起来像这样,但问题是我不知道如何通过 (1
为什么我们必须创建一个InetSocketAddress对象? 但是对于ServerSocket,我们只需使用int来输入端口号 示例: try( ServerSocketChanne
我进行了很多搜索,但无法找到两者之间的直接区别。在创建客户端套接字时,我们什么时候使用每一个? 最佳答案 InetSocketAddress 不以任何方式管理 Socket。 我认为你的意思是 Soc
我正在 InetSocketAddress 上执行 .toString()。这是 Android websocket 客户端的一部分,迄今为止无法连接到主机。 现在变量 address.toStrin
首先:我对 Spring 非常陌生,因此,如果我未能提供该问题所需的所有信息,我很抱歉。我的问题如下:我有以下类,我想将哪些对象保存在 mongoDB 中 public class Subscript
这是我尝试过的: @Test public void local_host_test() { InetAddress inetAddress = Mockito.mock(InetAddres
我正在使用一个使用开源 java 库 (Calimero) 的 Android 应用程序。我的代码尝试使用以下代码获取主机名和端口: private static KNXNetworkLinkIP c
我想要实现的目标 将服务器绑定(bind)到临时端口以进行单元测试。 我的问题: 使用 1.5.0_22 JDK,我尝试按照 javadoc 使用端口 0 将 InetSocketAddress 绑定
我想创建一个 InetSocketAddress,但无论我得到的是 host:port 还是 ip:port,我都想正确地创建它。我看到它有两个构造函数,一个用于主机 (String),另一个用于 I
当我启动通过elasticsearch java api 与ElasticSearch 5.6.10 交互的java 应用程序并且我的elasticsearch 集群有超过1 个节点时,我收到以下异常
我正在寻找 ipv4 和 ipv6 的测试正则表达式 InetSocketAddress (即 IP 地址 + 端口号)。我对验证主机名不感兴趣。 它可以是两个正则表达式(一个用于 ipv4,一个用于
我正在尝试以字符串形式获取套接字连接的 IP。 我正在使用一个框架,它返回接收到的消息的 SocketAddress。我如何将其转换为 InetSocketAddress 或 InetAddress?
我需要有效地确定 InetSocketAddress 是 IPv6 还是 IPv4。我能看到的唯一两种方法是使用 instanceof 运算符,或者检查 getAddress() 的长度(应该返回一个
Java 中验证 host:port 形式的字符串并将其转换为 InetSocketAddress 实例的常用方法是什么? 如果满足以下条件就好了: 没有地址查找; 适用于 IPv4、IPv6 和“字
我是一名优秀的程序员,十分优秀!