Klasa CSocketAddr

Ta klasa udostępnia metody konwertowania nazw hostów na adresy hostów, obsługując zarówno formaty IPv4, jak i IPV6.

Składnia

class CSocketAddr

Elementy członkowskie

Konstruktory publiczne

Nazwa Opis
CSocketAddr::CSocketAddr Konstruktor.

Metody publiczne

Nazwa Opis
CSocketAddr::FindAddr Wywołaj tę metodę, aby przekonwertować podaną nazwę hosta na adres hosta.
CSocketAddr::FindINET4Addr Wywołaj tę metodę, aby przekonwertować nazwę hosta IPv4 na adres hosta.
CSocketAddr::FindINET6Addr Wywołaj tę metodę, aby przekonwertować nazwę hosta IPv6 na adres hosta.
CSocketAddr::GetAddrInfo Wywołaj tę metodę, aby zwrócić wskaźnik do określonego elementu na addrinfo liście.
CSocketAddr::GetAddrInfoList Wywołaj tę metodę, aby zwrócić wskaźnik do addrinfo listy.

Uwagi

Ta klasa zapewnia niezależne od wersji ip podejście do wyszukiwania adresów sieciowych do użycia z funkcjami interfejsu API gniazd systemu Windows i otokami gniazd w bibliotekach.

Członkowie tej klasy, które są używane do wyszukiwania adresów sieciowych, używają funkcji interfejsu API Win32 getaddrinfo. Wersja ANSI lub UNICODE funkcji jest wywoływana w zależności od tego, czy kod jest kompilowany dla anSI, czy UNICODE.

Ta klasa obsługuje zarówno adresy sieciowe IPv4, jak i IPv6.

Wymagania

Nagłówek: atlsocket.h

CSocketAddr::CSocketAddr

Konstruktor.

CSocketAddr();

Uwagi

Tworzy nowy CSocketAddr obiekt i inicjuje połączoną listę zawierającą informacje o odpowiedzi na temat hosta.

CSocketAddr::FindAddr

Wywołaj tę metodę, aby przekonwertować podaną nazwę hosta na adres hosta.

int FindAddr(
    const TCHAR *szHost,
    const TCHAR *szPortOrServiceName,
    int flags,
    int addr_family,
    int sock_type,
    int ai_proto);

int FindAddr(
    const TCHAR *szHost,
    int nPortNo,
    int flags,
    int addr_family,
    int sock_type,
    int ai_proto);

Parametry

szHost
Nazwa hosta lub adres IP kropkowany.

szPortOrServiceName
Numer portu lub nazwa usługi na hoście.

nPortNo
Numer portu.

Flagi
0 lub kombinacja AI_PASSIVE, AI_CANONNAME lub AI_NUMERICHOST.

addr_family
Rodzina adresów (na przykład PF_INET).

sock_type
Typ gniazda (na przykład SOCK_STREAM).

ai_proto
Protokół (taki jak IPPROTO_IP lub IPPROTO_IPV6).

Wartość zwracana

Zwraca zero, jeśli adres jest obliczany pomyślnie. Zwraca kod błędu niezerowego gniazda systemu Windows po awarii. Jeśli to się powiedzie, adres obliczeniowy jest przechowywany na połączonej liście, do których można się odwołać przy użyciu metod CSocketAddr::GetAddrInfoList i CSocketAddr::GetAddrInfo.

Uwagi

Parametr nazwy hosta może mieć format IPv4 lub IPv6. Ta metoda wywołuje funkcję interfejsu API Win32 getaddrinfo w celu przeprowadzenia konwersji.

CSocketAddr::FindINET4Addr

Wywołaj tę metodę, aby przekonwertować nazwę hosta IPv4 na adres hosta.

int FindINET4Addr(
    const TCHAR *szHost,
    int nPortNo,
    int flags = 0,
    int sock_type = SOCK_STREAM);

Parametry

szHost
Nazwa hosta lub adres IP kropkowany.

nPortNo
Numer portu.

Flagi
0 lub kombinacja AI_PASSIVE, AI_CANONNAME lub AI_NUMERICHOST.

sock_type
Typ gniazda (na przykład SOCK_STREAM).

Wartość zwracana

Zwraca zero, jeśli adres jest obliczany pomyślnie. Zwraca kod błędu niezerowego gniazda systemu Windows po awarii. Jeśli to się powiedzie, adres obliczeniowy jest przechowywany na połączonej liście, do których można się odwołać przy użyciu metod CSocketAddr::GetAddrInfoList i CSocketAddr::GetAddrInfo.

Uwagi

Ta metoda wywołuje funkcję interfejsu API Win32 getaddrinfo w celu przeprowadzenia konwersji.

CSocketAddr::FindINET6Addr

Wywołaj tę metodę, aby przekonwertować nazwę hosta IPv6 na adres hosta.

int FindINET6Addr(
    const TCHAR *szHost,
    int nPortNo,
    int flags = 0,
    int sock_type = SOCK_STREAM);

Parametry

szHost
Nazwa hosta lub adres IP kropkowany.

nPortNo
Numer portu.

Flagi
0 lub kombinacja AI_PASSIVE, AI_CANONNAME lub AI_NUMERICHOST.

sock_type
Typ gniazda (na przykład SOCK_STREAM).

Wartość zwracana

Zwraca zero, jeśli adres jest obliczany pomyślnie. Zwraca kod błędu niezerowego gniazda systemu Windows po awarii. Jeśli to się powiedzie, adres obliczeniowy jest przechowywany na połączonej liście, do których można się odwołać przy użyciu metod CSocketAddr::GetAddrInfoList i CSocketAddr::GetAddrInfo.

Uwagi

Ta metoda wywołuje funkcję interfejsu API Win32 getaddrinfo w celu przeprowadzenia konwersji.

CSocketAddr::GetAddrInfo

Wywołaj tę metodę, aby zwrócić wskaźnik do określonego elementu na addrinfo liście.

addrinfo* const GetAddrInfo(int nIndex = 0) const;

Parametry

Nindex
Odwołanie do określonego elementu na liście addrinfo .

Wartość zwracana

Zwraca wskaźnik do addrinfo struktury, do których odwołuje się nIndex , na połączonej liście zawierającej informacje o odpowiedzi o hoście.

CSocketAddr::GetAddrInfoList

Wywołaj tę metodę, aby zwrócić wskaźnik do addrinfo listy.

addrinfo* const GetAddrInfoList() const;

Wartość zwracana

Wskaźnik do połączonej listy co najmniej addrinfo jednej struktury zawierającej informacje o odpowiedzi na temat hosta. Aby uzyskać więcej informacji, zobacz addrinfo, struktura.

Zobacz też

Omówienie klasy