CSocketAddr – třída

Tato třída poskytuje metody pro převod názvů hostitelů na adresy hostitelů, které podporují formáty IPv4 i IPV6.

Syntax

class CSocketAddr

Členové

Veřejné konstruktory

Název Description
CSocketAddr::CSocketAddr Konstruktor

Veřejné metody

Název Description
CSocketAddr::FindAddr Voláním této metody převeďte zadaný název hostitele na adresu hostitele.
CSocketAddr::FindINET4Addr Voláním této metody převeďte název hostitele IPv4 na adresu hostitele.
CSocketAddr::FindINET6Addr Voláním této metody převeďte název hostitele IPv6 na adresu hostitele.
CSocketAddr::GetAddrInfo Voláním této metody vrátíte ukazatel na určitý prvek v addrinfo seznamu.
CSocketAddr::GetAddrInfoList Voláním této metody vrátíte ukazatel na addrinfo seznam.

Poznámky

Tato třída poskytuje přístup bez omezení verze protokolu IP pro vyhledávání síťových adres pro použití s funkcemi rozhraní API soketů Systému Windows a obálkami soketů v knihovnách.

Členové této třídy, které se používají k vyhledávání síťových adres, používají funkci rozhraní API Win32 getaddrinfo. Verze funkce ANSI nebo UNICODE se volá v závislosti na tom, jestli je kód zkompilován pro ANSI nebo UNICODE.

Tato třída podporuje síťové adresy IPv4 i IPv6.

Požadavky

Hlavička: atlsocket.h

CSocketAddr::CSocketAddr

Konstruktor

CSocketAddr();

Poznámky

Vytvoří nový CSocketAddr objekt a inicializuje propojený seznam obsahující informace o odpovědi o hostiteli.

CSocketAddr::FindAddr

Voláním této metody převeďte zadaný název hostitele na adresu hostitele.

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
Název hostitele nebo tečkovaná IP adresa.

szPortOrServiceName
Číslo portu nebo název služby na hostiteli.

nPortNo
Číslo portu

příznaky
0 nebo kombinace AI_PASSIVE, AI_CANONNAME nebo AI_NUMERICHOST.

addr_family
Rodina adres (například PF_INET).

sock_type
Typ soketu (například SOCK_STREAM).

ai_proto
Protokol (například IPPROTO_IP nebo IPPROTO_IPV6).

Návratová hodnota

Pokud se adresa úspěšně vypočítá, vrátí nulu. Vrátí nenulový kód chyby rozhraní Windows Socket při selhání. V případě úspěchu se počítaná adresa uloží do propojeného seznamu, na který se může odkazovat pomocí CSocketAddr::GetAddrInfoList a CSocketAddr::GetAddrInfo.

Poznámky

Parametr názvu hostitele může být ve formátu IPv4 nebo IPv6. Tato metoda volá funkci rozhraní API Win32 getaddrinfo k provedení převodu.

CSocketAddr::FindINET4Addr

Voláním této metody převeďte název hostitele IPv4 na adresu hostitele.

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

Parametry

szHost
Název hostitele nebo tečkovaná IP adresa.

nPortNo
Číslo portu

příznaky
0 nebo kombinace AI_PASSIVE, AI_CANONNAME nebo AI_NUMERICHOST.

sock_type
Typ soketu (například SOCK_STREAM).

Návratová hodnota

Pokud se adresa úspěšně vypočítá, vrátí nulu. Vrátí nenulový kód chyby rozhraní Windows Socket při selhání. V případě úspěchu se počítaná adresa uloží do propojeného seznamu, na který se může odkazovat pomocí CSocketAddr::GetAddrInfoList a CSocketAddr::GetAddrInfo.

Poznámky

Tato metoda volá funkci rozhraní API Win32 getaddrinfo k provedení převodu.

CSocketAddr::FindINET6Addr

Voláním této metody převeďte název hostitele IPv6 na adresu hostitele.

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

Parametry

szHost
Název hostitele nebo tečkovaná IP adresa.

nPortNo
Číslo portu

příznaky
0 nebo kombinace AI_PASSIVE, AI_CANONNAME nebo AI_NUMERICHOST.

sock_type
Typ soketu (například SOCK_STREAM).

Návratová hodnota

Pokud se adresa úspěšně vypočítá, vrátí nulu. Vrátí nenulový kód chyby rozhraní Windows Socket při selhání. V případě úspěchu se počítaná adresa uloží do propojeného seznamu, na který se může odkazovat pomocí CSocketAddr::GetAddrInfoList a CSocketAddr::GetAddrInfo.

Poznámky

Tato metoda volá funkci rozhraní API Win32 getaddrinfo k provedení převodu.

CSocketAddr::GetAddrInfo

Voláním této metody vrátíte ukazatel na určitý prvek v addrinfo seznamu.

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

Parametry

nIndex
Odkaz na konkrétní prvek v seznamu addrinfo .

Návratová hodnota

Vrátí ukazatel na addrinfo strukturu odkazovanou nIndex v propojeném seznamu obsahujícím informace o odpovědi o hostiteli.

CSocketAddr::GetAddrInfoList

Voláním této metody vrátíte ukazatel na addrinfo seznam.

addrinfo* const GetAddrInfoList() const;

Návratová hodnota

Ukazatel na propojený seznam jedné nebo více addrinfo struktur obsahujících informace o odpovědi o hostiteli. Další informace najdete v tématu addrinfo structure.

Viz také

Přehled třídy