分享方式:


CGopherConnection 類別

管理您與 Gopher 網際網路伺服器的連接。

注意

類別 CGopherConnectionCGopherFileCGopherFileFindCGopherLocator 和 其成員已被取代,因為它們無法在 Windows XP 平台上運作,但他們會繼續在舊版平台上運作。

語法

class CGopherConnection : public CInternetConnection

成員

公用建構函式

名稱 描述
CGopherConnection::CGopherConnection 建構 CGopherConnection 物件。

公用方法

名稱 描述
CGopherConnection::CreateLocator 建立 CGopherLocator 物件,以在 gopher 伺服器上尋找檔案。
CGopherConnection::GetAttribute 擷取 gopher 物件的屬性資訊。
CGopherConnection::OpenFile 開啟 gopher 檔案。

備註

Gopher 服務是 MFC WinInet 類別所辨識的三個因特網服務之一。

類別 CGopherConnection 包含一個建構函式和三個額外的成員函式,可管理 gopher 服務: OpenFileCreateLocatorGetAttribute

若要與 Gopher 因特網伺服器通訊,您必須先建立 CInternetSession 的實例,然後呼叫 CInternetSession::GetGopherConnection,以建立CGopherConnection物件並傳回它的指標。 您永遠不會直接建立 CGopherConnection 物件。

若要深入瞭解如何使用CGopherConnection其他 MFC 因特網類別,請參閱使用 WinInet 進行因特網程式設計一文。 如需使用其他兩個支援的因特網服務的詳細資訊,FTP 和 HTTP 請參閱 CHttpConnection 和 CFtpConnection 類別

繼承階層架構

CObject

CInternetConnection

CGopherConnection

需求

標頭: afxinet.h

CGopherConnection::CGopherConnection

呼叫這個成員函式來建構 CGopherConnection 物件。

CGopherConnection(
    CInternetSession* pSession,
    HINTERNET hConnected,
    LPCTSTR pstrServer,
    DWORD_PTR dwContext);

CGopherConnection(
    CInternetSession* pSession,
    LPCTSTR pstrServer,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    DWORD_PTR dwContext = 0,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);

參數

pSession
相關 CInternetSession 物件的指標。

hConnected
目前因特網會話的 Windows 句柄。

pstrServer
字串的指標,其中包含 FTP 伺服器名稱。

dwContext
作業的內容識別碼。 dwContext 會識別 CInternetSession::OnStatusCallback傳回的作業狀態資訊。 預設值設定為 1;不過,您可以明確指派作業的特定內容識別碼。 物件及其執行的任何工作都會與該內容識別碼相關聯。

pstrUserName
null 終止字串的指標,指定要登入的使用者名稱。 如果為 NULL,則預設值為匿名。

pstrPassword
null 終止字串的指標,指定要用來登入的密碼。 如果 pstrPasswordpstrUserName 都是 NULL,則預設的匿名密碼是使用者的電子郵件名稱。 如果 pstrPassword 為 NULL(或空字串串),但 pstrUserName 不是 NULL,則會使用空白密碼。 下表描述 pstrUserNamepstrPassword 四種可能設定的行為:

pstrUserName pstrPassword 傳送至 FTP 伺服器的使用者名稱 傳送至 FTP 伺服器的密碼
NULL 或 ” NULL 或 ” “anonymous” 使用者的電子郵件名稱
非 NULL 字串 NULL 或 ” pstrUserName " "
NULL 非 NULL 字串 錯誤 錯誤
非 NULL 字串 非 NULL 字串 pstrUserName pstrPassword

nPort
數字,識別伺服器上要使用的 TCP/IP 連接埠。

備註

您永遠不會直接建立 CGopherConnection 。 相反地,呼叫 CInternetSession::GetGopherConnection,這會建立 CGopherConnection 物件並傳回它的指標。

CGopherConnection::CreateLocator

呼叫此成員函式來建立 gopher 定位器,以尋找或識別 gopher 伺服器上的檔案。

CGopherLocator CreateLocator(
    LPCTSTR pstrDisplayString,
    LPCTSTR pstrSelectorString,
    DWORD dwGopherType);

static CGopherLocator CreateLocator(LPCTSTR pstrLocator);

static CGopherLocator CreateLocator(
    LPCTSTR pstrServerName,
    LPCTSTR pstrDisplayString,
    LPCTSTR pstrSelectorString,
    DWORD dwGopherType,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);

參數

pstrDisplayString
字串的指標,其中包含要擷取之 gopher 檔或目錄的名稱。 如果 pstrDisplayString 參數為 NULL,則會傳回 gopher 伺服器的預設目錄。

pstrSelectorString
要傳送至 gopher 伺服器的選取器字串指標,以便擷取專案。 pstrSelectorString 可以是 NULL。

dwGopherType
這會指定 pstrSelectorString 是否參考目錄或檔,以及要求是 gopher 或 gopher+。 請參閱 Windows SDK 中結構 GOPHER_FIND_DATA 的屬性。

pstrLocator
字串的指標,識別要開啟的檔案。 一般而言,此字串會從 CGopherFileFind::GetLocator 的呼叫傳回。

pstrServerName
字串的指標,其中包含 Gopher 伺服器名稱。

nPort
識別此連線之因特網埠的數位。

傳回值

CGopherLocator 物件。

備註

成員函式的靜態版本需要您指定伺服器,而非靜態版本則使用連接物件中的伺服器名稱。

若要從 Gopher 伺服器擷取資訊,應用程式必須先取得 Gopher 定位器。 然後,應用程式必須將定位器視為不透明的令牌(也就是說,應用程式可以使用定位器,但不能直接操作或比較它)。 一般而言,應用程式會使用定位器呼叫 CGopherFileFind::FindFile 成員函式來擷取特定資訊片段。

CGopherConnection::GetAttribute

呼叫這個成員函式,從 gopher 伺服器擷取專案的特定屬性資訊。

BOOL GetAttribute(
    CGopherLocator& refLocator    CString strRequestedAttributes,
    CString& strResult,);

參數

refLocator
CGopherLocator 對象的參考

strRequestedAttributes
以空格分隔的字串,指定要求的屬性名稱。

strResult
接收定位器類型的 CString 參考

傳回值

如果成功則為非零;否則為 0。 如果呼叫失敗,可能會呼叫 Win32 函式 GetLastError 來判斷錯誤的原因。

CGopherConnection::OpenFile

呼叫此成員函式以在 gopher 伺服器上開啟檔案。

CGopherFile* OpenFile(
    CGopherLocator& refLocator,
    DWORD dwFlags = 0,
    LPCTSTR pstrView = NULL,
    DWORD_PTR dwContext = 1);

參數

refLocator
CGopherLocator 對象的參考

dwFlags
INTERNET_FLAG_* 旗標的任何組合。 如需INTERNET_FLAG_* 旗標的詳細資訊,請參閱 CInternetSession::OpenUrl

pstrView
檔案檢視字串的指標。 如果伺服器上的檔案有數個檢視,此參數會指定要開啟的檔案檢視。 如果 pstrView 是 NULL,則會使用預設檔案檢視。

dwContext
要開啟之檔案的內容標識碼。 如需 dwContext 的詳細資訊請參閱

傳回值

要開啟之 CGopherFile 物件的指標。

備註

覆寫 dwContext 預設值,將內容識別碼設定為您選擇的值。 內容標識符會與其 CInternetSession 物件所建立之CGopherConnection對象的這個特定作業相關聯。 值會傳回至 CInternetSession::OnStatusCallback ,以提供其識別作業的狀態。 如需內容標識碼的詳細資訊,請參閱因特網第一個步驟:WinInet 一文

另請參閱

CInternetConnection 類別
階層架構圖表
CFtpConnection 類別
CHttpConnection 類別
CInternetConnection 類別
CGopherLocator 類別
CGopherFile 類別
CInternetSession 類別