使用硬编码的 IPv4 地址

IPv4 的寿命导致许多已知的 IPv4 地址进行硬编码,例如环回地址 (127.x.x.x) 、整数常量(如INADDR_LOOPBACK等)。 在修改和现有应用程序以支持 IPv6 或创建新的与 IP 版本无关的程序时,对这些地址进行硬编码的做法会带来明显的问题。

最佳做法

  • 最佳方法是避免对任何地址进行硬编码。

要避免的代码

  • 避免在代码中使用硬编码地址。

将现有基本代码从 IPv4 修改为 IPv4 和 IPv6 互操作性

  1. 获取 Checkv4.exe 实用工具。 Checkv4.exe 实用工具作为 Microsoft Windows 软件开发工具包的一部分安装, (SDK) 为 Windows Vista 及更高版本发布。 Windows SDK 可通过 MSDN 订阅获取,也可以从 Microsoft 网站下载 (https://msdn.microsoft.com) 。
  2. 针对代码运行 Checkv4.exe 实用工具。 使用 Checkv4.exe 实用工具部分了解如何针对文件运行 Checkv4.exe实用工具
  3. Checkv4.exe实用工具会提醒你 IPv4 地址存在常见定义,例如INADDR_LOOPBACK。 使用与协议版本无关的代码修改使用文本字符串的任何代码。
  4. 根据需要搜索代码库,查找其他可能的文字字符串。

Checkv4.exe 实用工具可帮助查找常见的文本字符串,但可能还有其他特定于应用程序的文本字符串。 应执行彻底的搜索和测试,以确保代码库已消除与文本字符串相关的潜在问题。

适用于 Windows 套接字应用程序的 IPv6 指南

更改 IPv6 Winsock 应用的数据结构

适用于 IPv6 Winsock 应用程序的双堆栈套接字

IPv6 Winsock 应用程序的函数调用

IPv6 Winsock 应用程序的用户界面问题

IPv6 Winsock 应用程序的基础协议