Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве содержатся сведения, необходимые для того, чтобы приложение 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.
В данном руководстве рассматриваются следующие области программирования:
- Изменение структур данных для приложений Winsock IPv6
- Вызовы функций для приложений Winsock IPv6
- Использование жестких IPv4-адресов
- Проблемы с пользовательским интерфейсом для приложений Winsock IPv6
- Базовые протоколы для приложений Winsock IPv6
- Сокеты с двойным стеком для приложений Winsock IPv6
Поскольку не существует единой последовательности событий, разделы, посвященные проблемам, связанным с поддержкой IPv6, не расположены последовательно значимым образом, поэтому вы можете ссылаться на любой раздел в любое время. Настоятельно рекомендуется ознакомиться с каждым разделом при добавлении возможности IPv6 в приложение. Также рекомендуется прочитать о Checkv4.exe утилите, так как она содержит советы о порядке решения проблем, связанных с поддержкой IPv6.
Чтобы ознакомиться с Checkv4.exe утилитой, а также с тем, в каком порядке следует подходить к процессу переноса в приложениях, см. раздел Использование утилиты Checkv4.exe. В этом разделе содержится информация о флаге времени компиляции, который строго проверяет наличие программных элементов, несовместимых с IPv6.
Чтобы перейти непосредственно к примеру приложения, см. Приложение А: Исходный код только для IPv4 и Приложение Б: Исходный код, не зависящий от IP-версии.