Udostępnij za pośrednictwem


Używanie zakodowanych na stałe adresów IPv4

Długowieczność protokołu IPv4 spowodowała trwałe zapisanie wielu dobrze znanych adresów IPv4, takich jak adresy sprzężenia zwrotnego (127.x.x.x) oraz stałe całkowite, takie jak INADDR_LOOPBACK i inne. Praktyka kodowania twardego tych adresów stanowi oczywiste problemy podczas modyfikowania i istniejącej aplikacji do obsługi protokołu IPv6 lub tworzenia nowych programów niezależnych od wersji ip.

Najlepsze rozwiązanie

  • Najlepszym rozwiązaniem jest unikanie trwałego kodowania adresów.

Kod do unikania

  • Unikaj używania zakodowanych na stałe adresów w kodzie.

Aby zmodyfikować istniejącą bazę kodu z protokołu IPv4 na współdziałanie protokołów IPv4 i IPv6

  1. Uzyskaj narzędzie Checkv4.exe. Narzędzie Checkv4.exe jest instalowane w ramach zestawu Microsoft Windows Software Development Kit (SDK) wydanego dla systemu Windows Vista i nowszych wersji.
  2. Uruchom narzędzie Checkv4.exe na swoim kodzie. Dowiedz się, jak uruchomić narzędzie Checkv4.exe do plików w sekcji Korzystanie z narzędzia Checkv4.exe.
  3. Narzędzie Checkv4.exe powiadamia o obecności typowych definicji dla adresów IPv4, takich jak INADDR_LOOPBACK. Zmodyfikuj dowolny kod używający literałów tekstowych tak, aby był niezależny od wersji protokołu.
  4. Wyszukaj bazę kodu pod kątem innych potencjalnych ciągów literałów, zgodnie z potrzebami.

Narzędzie Checkv4.exe może pomóc w znalezieniu typowych ciągów tekstowych, ale mogą istnieć inne, które są specyficzne dla twojej aplikacji. Należy przeprowadzić dokładne przeszukiwanie i testowanie, aby upewnić się, że baza kodu wyeliminowała potencjalne problemy związane z ciągami znaków literałów.

Przewodnik po IPv6 dla aplikacji używających Windows Sockets

Zmiana Struktur Danych dla Aplikacji IPv6 Winsock

Dual-Stack Gniazda dla aplikacji Winsock z IPv6

Wywołania funkcji dla aplikacji Winsock protokołu IPv6

problemy z interfejsem użytkownika dla aplikacji IPv6 Winsock

Protokoły podstawowe dla aplikacji Winsock wykorzystujących IPv6