Freigeben über


Verwendung von hartcodierten IPv4-Adressen

Die Langlebigkeit von IPv4 führte dazu, dass viele bekannte IPv4-Adressen hart codiert wurden, z. B. Loopbackadressen (127.x.x.x) und ganzzahlige Konstanten wie INADDR_LOOPBACK. Die Praxis der harten Codierung dieser Adressen stellt 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.

Zu vermeidenden Code

  • Vermeiden Sie die Verwendung von hartcodierten Adressen im Code.

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

  1. Rufen Sie das HilfsprogrammCheckv4.exe ab. Das hilfsprogrammCheckv4.exe wird als Teil des Microsoft Windows Software Development Kit (SDK) installiert, das für Windows Vista und höher veröffentlicht wurde. Das Windows SDK ist über ein MSDN-Abonnement verfügbar und kann auch von der Microsoft-Website (https://msdn.microsoft.com) heruntergeladen werden.
  2. Führen Sie das HilfsprogrammCheckv4.exe für Ihren Code aus. Informationen zum Ausführen des Checkv4.exe-Hilfsprogramms für Ihre Dateien finden Sie im Abschnitt Verwenden des Checkv4.exe-Hilfsprogramms.
  3. Das Checkv4.exe-Hilfsprogramm warnt Sie darüber, dass allgemeine Definitionen für IPv4-Adressen vorhanden sind, z. B. INADDR_LOOPBACK. Ändern Sie jeden Code, der Literalzeichenfolgen verwendet, mit Code, der protokollversionsunabhängig ist.
  4. Suchen Sie ihre Codebasis nach anderen potenziellen Literalzeichenfolgen.

Mit dem HilfsprogrammCheckv4.exe können Sie allgemeine Literalzeichenfolgen finden, aber es gibt möglicherweise andere, die für Ihre Anwendung spezifisch sind. Sie sollten gründliche Suchen und Tests durchführen, um sicherzustellen, dass Ihre Codebasis potenzielle Probleme im Zusammenhang mit Literalzeichenfolgen beseitigt hat.

IPv6-Leitfaden für Windows Sockets-Anwendungen

Ändern von Datenstrukturen für IPv6-Winsock-Apps

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

Funktionsaufrufe für IPv6-Winsockanwendungen

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

Zugrunde liegende Protokolle für IPv6-Winsock-Anwendungen