【发布时间】:2011-08-03 00:25:41
【问题描述】:
IPv6和IPv4在windows编程层面的区别是什么?
我们可以将 IPv4 地址更改为 IPV6 并保持所有其他程序相同,它可以工作吗?
【问题讨论】:
-
编码的区别
-
异步名称解析不适用于 IPv6(必须使用 getnameinfo,老实说这是一种考验)。除此之外,理论上,如果您使用“良好实践”,一切都应该完全相同,因为所有结构长期以来都是不透明的,所以您不会知道引擎盖下是否发生了某些变化。有关如何编写与 AF 无关的代码,请参阅此内容:kame.net/newsletter/19980604
-
对于 Vista 和更高版本,您可以在套接字上设置一个选项,以便将其用于 IPv4 和 IPv6 目的。看看msdn.microsoft.com/en-us/library/ms738649(v=vs.85).aspx 来帮助你。仔细使用 API 和结构可以允许以不可知的方式完成所有工作。
-
您没有选择任何一个答案。如果两者都不能满足您的需求,您能否提供更多有关您正在寻找的信息的信息?
-
@michael 您的答案非常接近。我想知道我必须在哪里进行更改才能使 ipv4 程序与 ipv6 一起使用。