Windows ソケット アプリケーションの IPv6 ガイド
このガイドでは、Microsoft Windows アプリケーションで次世代のインターネット プロトコル バージョン 6 (IPv6) を使用できるようにするために必要な情報を提供します。 IPv6 機能をアプリケーションに追加することは、必ずしも移植プロセスであるとは限りません。 アプリケーションを移植するには、別のプラットフォームで動作するようにコードを変更することを提案します。これは、前のプラットフォームを置き去りにすることを意味します。 このガイドは、IPv4 機能を保持しながら、アプリケーションに IPv6 機能を追加するために特に構成されています。
このガイドでは、IPv6 機能の追加に関連する問題について説明し、移行の影響を最も受ける開発領域を対象としています。 各領域には、注意する落とし穴、それらを回避するために提案された戦略、および新しいWindows Sockets 2 プログラム要素 (関数と構造) を最大限に活用する方法に関するヒントが詳しく説明されています。 IPv6 の詳細については、 IPv6 のサポートを参照してください。
このガイドでは、アプリケーションの変更時に発生する可能性がある問題の実践的なエクスペリエンスと視覚的表現を提供するコード例も示します。 この例は、IPv4 と IPv6 の両方をサポートするように変更された単純なWindows Sockets アプリケーションの完全な動作例です。 これらの作業例のソース コードは、このドキュメントの最後にある 2 つの付録に完全に含まれています。 付録 A: IPv4 のみのソース コードには、IPv6 をサポートするように変更される前のアプリケーションのソース コードが含まれています。 付録 B: IP バージョンに依存しないソース コード は、アプリケーションが IPv6 対応になった後にソース コードを提供します。
Microsoft では、アプリケーション コードで移植に影響を受ける可能性のあるコードを見つけるのに役立つCheckv4.exeと呼ばれるユーティリティを提供し、修正に関する推奨事項も作成します。 このドキュメントでは、Checkv4.exe ユーティリティについて、付録に含まれているサンプル アプリケーションと、Checkv4.exe ユーティリティが生成する出力を示すスクリーン ショットを使用して説明します。 詳細については、「 Checkv4.exe ユーティリティの使用」を参照してください。
このガイドで扱うプログラミング領域は次のとおりです。
- IPv6 Winsock Appications のデータ構造の変更
- IPv6 Winsock アプリケーションの関数呼び出し
- ハードコーディングされた IPv4 アドレスの使用
- IPv6 Winsock アプリケーションのユーザー インターフェイスに関する問題
- IPv6 Winsock アプリケーションの基になるプロトコル
- IPv6 Winsock アプリケーション用デュアル スタック ソケット
イベントの一連の統一性がないため、IPv6 対応の問題に対処するセクションは順番に重要な方法で配置されないため、任意のセクションをいつでも参照できます。 IPv6 機能をアプリケーションに追加するときに、各セクションを確認することを強くお勧めします。 また、IPv6 対応の問題に対処する順序に関するヒントが含まれているので、Checkv4.exe ユーティリティについて読むことも推奨されます。
Checkv4.exe ユーティリティを確認し、アプリケーションで移植プロセスにアプローチする順序を確認するには、「 Checkv4.exe ユーティリティの使用」を参照してください。 このセクションには、IPv6 と互換性のないプログラミング要素を厳密にチェックするコンパイル時フラグに関する情報が含まれています。
サンプル アプリケーションに直接進むには、「 付録 A: IPv4 専用ソース コード 」と 「付録 B: IP バージョンに依存しないソース コード」を参照してください。
関連トピック