使用硬编码的 IPv4 地址

IPv4 的长期存在导致许多已知的 IPv4 地址被硬编码,例如环回地址 (127.x.x.x)、整数常量(如 INADDR_LOOPBACK 等)。 在修改现有应用程序以支持 IPv6 或创建独立于 IP 版本的新程序时,硬编码这些地址的做法会带来明显的问题。

最佳做法

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

要避免的代码

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

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

  1. 获取 Checkv4.exe 实用工具。 Checkv4.exe 实用工具作为针对 Windows Vista 及更高版本发布的 Microsoft Windows 软件开发工具包 (SDK) 的一部分进行安装。
  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 应用程序的基础协议