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


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

В этом руководстве содержатся сведения, необходимые для того, чтобы приложение Microsoft Windows могло использовать протокол Интернета следующего поколения версии 6 (IPv6). Добавление поддержки IPv6 в приложение не обязательно является процессом переноса. Перенос приложения предполагает модификацию кода для работы на другой платформе, что подразумевает отказ от предыдущей платформы. Это руководство специально структурировано таким образом, чтобы помочь добавить возможности IPv6 в приложение, сохраняя при этом функциональность IPv4.

В этом руководстве обсуждаются вопросы, связанные с добавлением функций IPv6, а также рассматриваются области разработки, которые больше всего затронуты переходом. В каждой области подробно описываются подводные камни, на которые следует обратить внимание, предлагаются стратегии их избегания, а также советы о том, как наилучшим образом использовать новые программные элементы (функции и структуры) Windows Sockets 2 . Для получения дополнительной информации о IPv6 см. раздел Поддержка IPv6.

В этом руководстве также приведены примеры кода, которые дают вам практический опыт и визуальное представление проблем, с которыми вы можете столкнуться при изменении приложений. Примеры взяты из полных, рабочих примеров простого приложения Windows Sockets, которое было модифицировано для поддержки как IPv4, так и IPv6. Исходный код для этих рабочих примеров полностью включен в два приложения в конце настоящего документа: Приложение A: Исходный код, предназначенный только для IPv4 , включает исходный код приложения до его модификации для поддержки IPv6; Приложение B: IP-version Agnostic Source Code предоставляет исходный код после того, как приложение было включено в IPv6.

Корпорация Майкрософт предоставляет служебную программу под названием Checkv4.exe, которая помогает найти потенциально чувствительный к переносу код в коде приложения, а также дает рекомендации по исправлениям. В этом документе демонстрируется Checkv4.exe утилита с использованием примера приложения, включенного в приложения, вместе со снимками экрана, отображающими выходные данные, производимые Checkv4.exe утилитой. Дополнительные сведения см. в разделе Использование утилиты Checkv4.exe.

В данном руководстве рассматриваются следующие области программирования:

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

Чтобы ознакомиться с Checkv4.exe утилитой, а также с тем, в каком порядке следует подходить к процессу переноса в приложениях, см. раздел Использование утилиты Checkv4.exe. В этом разделе содержится информация о флаге времени компиляции, который строго проверяет наличие программных элементов, несовместимых с IPv6.

Чтобы перейти непосредственно к примеру приложения, см. Приложение А: Исходный код только для IPv4 и Приложение Б: Исходный код, не зависящий от IP-версии.

Протокол Интернета версии 6 (IPv6)

поддержки IPv6

Использование утилиты Checkv4.exe

Приложение A: Исходный код, предназначенный только для IPv4

Приложение Б: Исходный код, не зависящий от IP-версии