Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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).