Udostępnij za pośrednictwem


Klasa CSocketAddr

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

Składnia

class CSocketAddr

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CSocketAddr::CSocketAddr Konstruktor.

Metody publiczne

Nazwa/nazwisko 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.

Elementy członkowskie 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 o hoście.

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 w przypadku błędu. Jeśli to się powiedzie, adres obliczeniowy jest przechowywany na połączonej liście, do którego można się odwoływać 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 w przypadku błędu. Jeśli to się powiedzie, adres obliczeniowy jest przechowywany na połączonej liście, do którego można się odwoływać 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 w przypadku błędu. Jeśli to się powiedzie, adres obliczeniowy jest przechowywany na połączonej liście, do którego można się odwoływać 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 liście połączonej 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 jednej addrinfo struktury zawierającej informacje o odpowiedzi o hoście. Aby uzyskać więcej informacji, zobacz addrinfo structure (Struktura addrinfo).

Zobacz też

Omówienie klasy