Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于IPv6的Java套接字编程_Java_Sockets_Server_Client_Ipv6 - Fatal编程技术网

基于IPv6的Java套接字编程

基于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:

我是网络编程新手,我有几个问题,我在任何地方都找不到。 我不明白在建立连接时,IPv4和IPv6之间的代码是否存在差异

示例代码:
Socket插座=新插座(“127.0.0.1”,5000)

据我所知,上述代码用于IPv4。但是如果我想使用IPv6,如何初始化套接字

我不明白在建立连接时,ipv4和ipv6之间的代码是否存在差异

差别不大

  • 如果要使用显式IPv6地址,通常只需在中使用IP地址字符串实例化
    Socket

  • 如果您使用DNS名称,则可用的网络堆栈将确定您是使用IPv4还是IPv6:

    • 如果只有一个堆栈(由操作系统支持)可用,则使用该堆栈
    • 如果两个堆栈都可用,则
      java.net.preferIPv4Stack
      属性的设置将确定使用哪个堆栈
有关更多信息,请阅读Oracle Java文档

例如:
Socket Socket=new Socket(“127.0.0.1”,5000)
用于ip4,据我所知。但是,如果我想使用ip6,如何初始化套接字


另请参见:

使用IPv6中的
127.0.0.1
:1“。谢谢您的回答
Socket socket = new Socket("::1", 5000);