Verwenden von hartcodierten IPv4-Adressen

Die Langlebigkeit von IPv4 führte dazu, dass viele bekannte IPv4-Adressen, wie Loopbackadressen (127.x.x.x) oder ganzzahlige Konstanten wie INADDR_LOOPBACK, hart codiert wurden. Die Praxis der Hartcodierung dieser Adressen bringt offensichtliche Probleme beim Ändern und vorhandenen Anwendungen zur Unterstützung von IPv6 oder beim Erstellen neuer IP-versionsunabhängiger Programme dar.

Bewährte Methode

  • Der beste Ansatz besteht darin, die Hardcodierung von Adressen zu vermeiden.

Code, den es zu vermeiden gilt

  • Vermeiden Sie hartcodierte Adressen im Code.

So ändern Sie Ihre vorhandene Codebasis von IPv4 in IPv4- und IPv6-Interoperabilität

  1. Erwerben Sie das Hilfsprogramm Checkv4.exe. Das Hilfsprogramm Checkv4.exe wird als Teil des Microsoft Windows Software Development Kit (SDK) installiert, das für Windows Vista und höher veröffentlicht wurde.
  2. Führen Sie das Hilfsprogramm Checkv4.exe gegen Ihren Code aus. Erfahren Sie mehr zur Ausführung des Hilfsprogramms Checkv4.exe für Ihre Dateien im Abschnitt Verwenden des Hilfsprogramms Checkv4.exe.
  3. Das Hilfsprogramm Checkv4.exe benachrichtigt Sie über das Vorhandensein allgemeiner IPv4-Adressen, z. B. INADDR_LOOPBACK. Ändern Sie jeden Code, der Literalzeichenfolgen mit Code verwendet, der agnostisch hinsichtlich der Protokollversion ist.
  4. Durchsuchen Sie ihre Codebasis nach anderen potenziellen Literalzeichenfolgen, je nach Bedarf.

Das Hilfsprogramm Checkv4.exe kann Ihnen dabei helfen, allgemeine Literalzeichenfolgen zu finden, aber möglicherweise gibt es noch weitere, die für Ihre Anwendung spezifisch sind. Sie sollten gründlich suchen und Tests durchführen, um sicherzustellen, dass in Ihrer Codebasis potenzielle Probleme im Zusammenhang mit Literalzeichenfolgen beseitigt wurden.

IPv6-Leitfaden für Windows Sockets-Anwendungen

Ändern der Datenstrukturen für IPv6-Winsock-Anwendungen

Dual-Stack-Sockets für IPv6-Winsock-Anwendungen

Funktionsaufrufe für IPv6-Winsock-Anwendungen

Probleme mit der Benutzeroberfläche für IPv6-Winsock-Anwendungen

Zugrunde liegende Protokolle für IPv6-Winsock-Anwendungen