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.