Windows 套接字应用程序的 IPv6 指南
本指南提供了使Microsoft Windows 应用程序能够使用下一代 Internet 协议版本 6(IPv6)所需的信息。 向应用程序添加 IPv6 功能不一定是移植过程。 若要移植应用程序,建议修改代码以在不同的平台上工作,这意味着将上一个平台抛在后面。 本指南专门用于帮助将 IPv6 功能添加到应用程序,同时保留 IPv4 功能。
本指南讨论与添加 IPv6 功能相关的问题,然后针对受转换影响最大的开发领域。 每个区域都会全面解释要注意的陷阱、建议避免它们的策略,以及有关如何充分利用新的 Windows 套接字 2 编程元素(函数和结构)的提示。 有关 IPv6 的其他信息,请参阅 IPv6 支持。
本指南还提供了代码示例,可为你提供修改应用程序时可能遇到的问题的实践体验和视觉表示形式。 这些示例来自经过修改以支持 IPv4 和 IPv6 的简单 Windows 套接字应用程序的完整工作示例。 本文档末尾的两个附录中包括了这些工作示例的源代码:附录 A:IPv4 仅源代码 包括应用程序的源代码,然后再对其进行修改以支持 IPv6;附录 B:启用 IPv6 后,IP 版本不可知源代码 提供源代码。
Microsoft提供了一个名为“Checkv4.exe”的实用工具,可帮助你在应用程序代码中找到潜在的移植敏感代码,并提供有关修复的建议。 本文档演示了 Checkv4.exe 实用工具,使用附录中包含的示例应用程序,以及显示 Checkv4.exe 实用工具生成的输出的屏幕截图。 有关详细信息,请参阅 使用 Checkv4.exe 实用工具。
本指南解决的编程领域包括:
- 更改 IPv6 Winsock 应用 的数据结构
- IPv6 Winsock 应用程序的函数调用
- 使用硬编码的 IPv4 地址
- IPv6 Winsock 应用程序的用户界面问题
- IPv6 Winsock 应用程序的基础协议
- 适用于 IPv6 Winsock 应用程序的 Dual-Stack 套接字
由于没有统一的事件序列,因此解决 IPv6 启用问题的节不会按顺序显著排列,因此可以随时引用任何节。 强烈建议在向应用程序添加 IPv6 功能时查看每个部分。 建议阅读有关 Checkv4.exe 实用工具的信息,因为它包含有关解决 IPv6 启用问题的顺序的提示。
若要查看 Checkv4.exe 实用工具,并查看应在应用程序中处理移植过程的顺序,请参阅 使用 Checkv4.exe 实用工具。 本部分包含有关编译时标志的信息,该标志严格检查与 IPv6 不兼容的编程元素。
若要直接转到示例应用程序,请参阅附录 A:仅限 IPv4 的源代码 和 附录 B:IP 版本不可知源代码。