ipv4 を使用して記述された小さな udp サンプル プログラムがあります。コードを ipv6 に変更した場合でも、IPv4 アドレスを持つリスナーを使用して誰とでも通信できますか? 私は移植例を見ていました
http://ou800doc.caldera.com/en/SDK_netapi/sockC.PortIPv4appIPv6.html
コードを変更するだけで確実に機能するのか、それともデュエル スタック モードで記述しなければならないのかはわかりません。
ipv4 を使用して記述された小さな udp サンプル プログラムがあります。コードを ipv6 に変更した場合でも、IPv4 アドレスを持つリスナーを使用して誰とでも通信できますか? 私は移植例を見ていました
http://ou800doc.caldera.com/en/SDK_netapi/sockC.PortIPv4appIPv6.html
コードを変更するだけで確実に機能するのか、それともデュエル スタック モードで記述しなければならないのかはわかりません。
はい、いいえ... IPv6 にはまったく異なるアドレッシングが含まれているため、別のヘッダーと構造サイズを使用するようにアプリを再コーディングする必要があります。
ただし、IPv4 アドレス範囲は IPv6 内で使用できます。構文では、標準アドレスの前に 2 つのコロンを追加します (例: ::10.11.12.13)。IPv6 パケット内に IPv4 アドレスを埋め込むこともできます。
ネットワーク内のIPv4/IPv6 ゲートウェイの支援がなければ、通信はネットワーク アドレス変換ゲートウェイによって引き起こされる典型的な問題によって制限されます。このような決定に直面しているプログラマーに対する伝統的なアドバイスは、IPv4 と IPv6 の両方を同時にサポートすることを推奨することです。
IPv4 と IPv6 は本質的に互いに互換性がありません。
いくつかの基本的な理由:
これらの明らかな結果は、IPv6 ソケットを開くと、IPv4 ソケットを使用してリッスンできないことです。