1

ipv4 を使用して記述された小さな udp サンプル プログラムがあります。コードを ipv6 に変更した場合でも、IPv4 アドレスを持つリスナーを使用して誰とでも通信できますか? 私は移植例を見ていました

http://ou800doc.caldera.com/en/SDK_netapi/sockC.PortIPv4appIPv6.html

コードを変更するだけで確実に機能するのか、それともデュエル スタック モードで記述しなければならないのかはわかりません。

4

3 に答える 3

7

はい、いいえ... IPv6 にはまったく異なるアドレッシングが含まれているため、別のヘッダーと構造サイズを使用するようにアプリを再コーディングする必要があります。

ただし、IPv4 アドレス範囲は IPv6 内で使用できます。構文では、標準アドレスの前に 2 つのコロンを追加します (例: ::10.11.12.13)。IPv6 パケット内に IPv4 アドレスを埋め込むこともできます。

于 2009-05-27T14:24:39.120 に答える
5

ネットワーク内のIPv4/IPv6 ゲートウェイの支援がなければ、通信はネットワーク アドレス変換ゲートウェイによって引き起こされる典型的な問題によって制限されます。このような決定に直面しているプログラマーに対する伝統的なアドバイスは、IPv4 と IPv6 の両方を同時にサポートすることを推奨することです。

于 2009-06-02T19:15:07.897 に答える
1

IPv4 と IPv6 は本質的に互いに互換性がありません。
いくつかの基本的な理由:

  • アドレス空間が完全に異なる (IPv6 は 128 ビット アドレス、IPv4 は 32 ビット アドレス)
  • IPv6 のプロトコル ヘッダーは、IPv4 のプロトコル ヘッダーとはまったく異なります。IPv6 パケットを IPv4 として解析しようとすると、ナンセンスになります。

これらの明らかな結果は、IPv6 ソケットを開くと、IPv4 ソケットを使用してリッスンできないことです。

于 2009-05-27T14:18:13.080 に答える