Поделиться через


Использование жестких IPv4-адресов

Долголетие IPv4 привело к жесткому кодированию многих известных IPv4-адресов, таких как адреса обратного цикла (127.x.x.x.x),целые константы, такие как INADDR_LOOPBACK, среди прочего. Практика жесткого программирования этих адресов представляет очевидные проблемы при изменении и существующем приложении для поддержки IPv6 или создания новых программ, независимых от IP-версий.

Рекомендации

  • Лучший подход заключается в том, чтобы избежать жесткого кода адресов.

Код, чтобы избежать

  • Избегайте использования жестко закодированных адресов в коде.

Изменение существующей базы кода с IPv4 на IPv4-и IPv6-взаимодействие

  1. Получите программу Checkv4.exe. Служебная программа Checkv4.exe устанавливается в составе пакета SDK для Microsoft Windows, выпущенного для Windows Vista и более поздних версий.
  2. Запустите программу Checkv4.exe в коде. Узнайте, как запустить программу Checkv4.exe для файлов в разделе "Использование программы Checkv4.exe".
  3. Программа Checkv4.exe оповещает вас о присутствии распространенных адресов IPv4, таких как INADDR_LOOPBACK. Измените любой код, использующий литеральные строки с кодом, не зависящим от версии протокола.
  4. Выполните поиск в базе кода для других потенциальных строк литерала в соответствии с соответствующими параметрами.

Служебная программа Checkv4.exe поможет найти распространенные строки литерала, но могут быть другие, относящиеся к вашему приложению. Необходимо выполнить тщательный поиск и тестирование, чтобы убедиться, что база кода устранила потенциальные проблемы, связанные с литеральными строками.

Руководство по IPv6 для приложений сокетов Windows

Изменение структур данных для приложений Winsock для IPv6

Сокеты с двойным стеком для приложений Winsock IPv6

Вызовы функций для приложений Winsock IPv6

Проблемы с пользовательским интерфейсом для приложений Winsock IPv6

Базовые протоколы для приложений Winsock IPv6