基于IPv6的Java套接字编程
我是网络编程新手,我有几个问题,我在任何地方都找不到。 我不明白在建立连接时,IPv4和IPv6之间的代码是否存在差异 示例代码:基于IPv6的Java套接字编程,java,sockets,server,client,ipv6,Java,Sockets,Server,Client,Ipv6,我是网络编程新手,我有几个问题,我在任何地方都找不到。 我不明白在建立连接时,IPv4和IPv6之间的代码是否存在差异 示例代码: Socket插座=新插座(“127.0.0.1”,5000) 据我所知,上述代码用于IPv4。但是如果我想使用IPv6,如何初始化套接字 我不明白在建立连接时,ipv4和ipv6之间的代码是否存在差异 差别不大 如果要使用显式IPv6地址,通常只需在中使用IP地址字符串实例化Socket 如果您使用DNS名称,则可用的网络堆栈将确定您是使用IPv4还是IPv6:
Socket插座=新插座(“127.0.0.1”,5000)
据我所知,上述代码用于IPv4。但是如果我想使用IPv6,如何初始化套接字
我不明白在建立连接时,ipv4和ipv6之间的代码是否存在差异
差别不大
- 如果要使用显式IPv6地址,通常只需在中使用IP地址字符串实例化
Socket
- 如果您使用DNS名称,则可用的网络堆栈将确定您是使用IPv4还是IPv6:
- 如果只有一个堆栈(由操作系统支持)可用,则使用该堆栈
- 如果两个堆栈都可用,则
属性的设置将确定使用哪个堆栈java.net.preferIPv4Stack
Socket Socket=new Socket(“127.0.0.1”,5000)
用于ip4,据我所知。但是,如果我想使用ip6,如何初始化套接字
另请参见:使用IPv6中的
127.0.0.1
:1“。谢谢您的回答
Socket socket = new Socket("::1", 5000);