首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于IPv6的Java套接字编程

基于IPv6的Java套接字编程
EN

Stack Overflow用户
提问于 2020-09-08 07:58:32
回答 1查看 737关注 0票数 0

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

示例代码:Socket socket = new Socket(“127.0.0.1”, 5000)

正如我所理解的,上面的代码用于IPv4。但是,如果要使用IPv6,如何初始化套接字?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-08 11:17:01

我不明白在建立连接时,ipv4和ipv6之间的代码是否有区别。

差别很小。

  • 如果要使用显式IPv6地址,通常只需在IPv6语法中使用IP地址字符串实例化Socket
  • 如果使用DNS名称,那么可用的网络堆栈将决定您是使用IPv4还是IPv6:
代码语言:javascript
复制
- If only one stack is supported (by the OS) and available, that is used.
- If both stacks are available, the setting of the `java.net.preferIPv4Stack` property determines which is used.

有关更多信息,请阅读Oracle文档中的网络IPv6用户指南

例如:正如我所理解的,Socket socket = new Socket("127.0.0.1", 5000)用于ip4。但是,如果要使用ip6,如何初始化套接字?

代码语言:javascript
复制
Socket socket = new Socket("::1", 5000);

另见:本地主机和0.0.0.0的IPV6是什么?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63789563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档