共用方式為


CSocketAddr 類別

這個類別提供將主機名轉換成主機位址的方法,同時支援IPv4和IPV6格式。

語法

class CSocketAddr

成員

公用建構函式

名稱 描述
CSocketAddr::CSocketAddr 建構函式。

公用方法

名稱 描述
CSocketAddr::FindAddr 呼叫這個方法,將提供的主機名轉換為主機位址。
CSocketAddr::FindINET4Addr 呼叫此方法,將IPv4主機名轉換為主機位址。
CSocketAddr::FindINET6Addr 呼叫這個方法,將IPv6主機名轉換為主機位址。
CSocketAddr::GetAddrInfo 呼叫這個方法,以傳回清單中特定專案的 addrinfo 指標。
CSocketAddr::GetAddrInfoList 呼叫此方法以傳回清單的 addrinfo 指標。

備註

這個類別提供IP版本無關的方法,可用來查閱網路位址,以搭配連結庫中的Windows套接字 API 函式和套接字包裝函式使用。

用來查閱網路位址的這個類別成員會使用 Win32 API 函 式 getaddrinfo。 根據您的程式代碼是針對 ANSI 或 UNICODE 編譯,呼叫函式的 ANSI 或 UNICODE 版本。

這個類別同時支援 IPv4 和 IPv6 網路位址。

需求

標頭: atlsocket.h

CSocketAddr::CSocketAddr

建構函式。

CSocketAddr();

備註

建立新的 CSocketAddr 物件,並初始化包含主機之回應信息的連結清單。

CSocketAddr::FindAddr

呼叫這個方法,將提供的主機名轉換為主機位址。

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);

參數

szHost
主機名或虛線IP位址。

szPortOrServiceName
主機上服務的埠號碼或名稱。

nPortNo
連接埠號碼。

flags
0 或AI_PASSIVE、AI_CANONNAME或AI_NUMERICHOST的組合。

addr_family
位址系列(例如PF_INET)。

sock_type
套接字類型(例如SOCK_STREAM)。

ai_proto
通訊協定(例如IPPROTO_IP或IPPROTO_IPV6)。

傳回值

如果成功計算位址,則傳回零。 傳回失敗時的非零 Windows 套接字錯誤碼。 如果成功,匯出位址會儲存在可使用 和 CSocketAddr::GetAddrInfo參考CSocketAddr::GetAddrInfoList的連結清單中。

備註

主機名參數可以是IPv4或IPv6格式。 此方法會呼叫 Win32 API 函 式 getaddrinfo 來執行轉換。

CSocketAddr::FindINET4Addr

呼叫此方法,將IPv4主機名轉換為主機位址。

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

參數

szHost
主機名或虛線IP位址。

nPortNo
連接埠號碼。

flags
0 或AI_PASSIVE、AI_CANONNAME或AI_NUMERICHOST的組合。

sock_type
套接字類型(例如SOCK_STREAM)。

傳回值

如果成功計算位址,則傳回零。 傳回失敗時的非零 Windows 套接字錯誤碼。 如果成功,匯出位址會儲存在可使用 和 CSocketAddr::GetAddrInfo參考CSocketAddr::GetAddrInfoList的連結清單中。

備註

此方法會呼叫 Win32 API 函 式 getaddrinfo 來執行轉換。

CSocketAddr::FindINET6Addr

呼叫這個方法,將IPv6主機名轉換為主機位址。

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

參數

szHost
主機名或虛線IP位址。

nPortNo
連接埠號碼。

flags
0 或AI_PASSIVE、AI_CANONNAME或AI_NUMERICHOST的組合。

sock_type
套接字類型(例如SOCK_STREAM)。

傳回值

如果成功計算位址,則傳回零。 傳回失敗時的非零 Windows 套接字錯誤碼。 如果成功,匯出位址會儲存在可使用 和 CSocketAddr::GetAddrInfo參考CSocketAddr::GetAddrInfoList的連結清單中。

備註

此方法會呼叫 Win32 API 函 式 getaddrinfo 來執行轉換。

CSocketAddr::GetAddrInfo

呼叫這個方法,以傳回清單中特定專案的 addrinfo 指標。

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

參數

nIndex
addrinfo 清單中特定項目的參考。

傳回值

傳回連結清單中 nIndex參考之結構的指標addrinfo,其中包含主機的響應資訊。

CSocketAddr::GetAddrInfoList

呼叫此方法以傳回清單的 addrinfo 指標。

addrinfo* const GetAddrInfoList() const;

傳回值

包含主機之回應資訊的一或多個 addrinfo 結構連結清單的指標。 如需詳細資訊,請參閱 addrinfo 結構

另請參閱

類別概觀