栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Java上同时支持IPv4和IPv6

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Java上同时支持IPv4和IPv6

我怀疑这不是Java编程问题,而是OS网络堆栈/ OS网络配置问题:

http://coding.derkeiler.com/Archive/Java/comp.lang.java.help/2009-09/msg00087.html

在某些操作系统上,单个本机TCP套接字可以同时侦听IPv4和IPv6上的端口。它能够接受来自远程IPv4和远程IPv6客户端的连接。在其他操作系统(例如WinXP)上,操作系统本机套接字无法执行此操作,但只能从IPv4或IPv6接受,不能同时接受。在这些OS上,必须具有两个侦听套接字才能接收来自远程IPv4和IPv6客户端的连接,一个套接字侦听IPv4连接,一个套接字侦听IPv6。

Windows 7和Windows Server 2008可以很好地处理双堆栈。Windows XP没有那么多:)

您似乎在Linux上-大多数现代Linux台式机和服务器也可以毫无问题地处理双ipv4 ipv6。

这是一篇关于互操作性的好文章:

  • http://ntrg.cs.tcd.ie/undergrad/4ba2.02/ipv6/interop.html

您知道如何为您的Java应用程序“关闭” IPV6:

-Djava.net.preferIPv4Stack=true

您还可以像这样强制服务器使用IPV6:

echo 0 > /proc/sys/net/ipv6/bindv6only

可以说这是您的最佳来源:

  • http://docs.oracle.com/javase/6/docs/technotes/guides/net/ipv6_guide/index.html

除非受到外部网络问题的限制,否则您应该绝对能够完成所需的工作(至少在Java编程级别)。

Nodes)      V4 only  V4/V6  V6 only -------  -----  -------V4 only     x        x   V4/V6       x        x      xV6 only   x      x

PS:

这里还有一个很好的链接,它解释了套接字级别发生的情况。它不是Java(它是C),但实际上适用了示例原则:

  • 接受来自IPv6和IPv4客户端的连接


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/408983.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号