CGopherConnection 類別
管理您與 Gopher 網際網路伺服器的連接。
注意
類別 CGopherConnection
、CGopherFile
、 CGopherFileFind
CGopherLocator
和 其成員已被取代,因為它們無法在 Windows XP 平台上運作,但他們會繼續在舊版平台上運作。
語法
class CGopherConnection : public CInternetConnection
成員
公用建構函式
名稱 | 描述 |
---|---|
CGopherConnection::CGopherConnection | 建構 CGopherConnection 物件。 |
公用方法
名稱 | 描述 |
---|---|
CGopherConnection::CreateLocator | 建立 CGopherLocator 物件,以在 gopher 伺服器上尋找檔案。 |
CGopherConnection::GetAttribute | 擷取 gopher 物件的屬性資訊。 |
CGopherConnection::OpenFile | 開啟 gopher 檔案。 |
備註
Gopher 服務是 MFC WinInet 類別所辨識的三個因特網服務之一。
類別 CGopherConnection
包含一個建構函式和三個額外的成員函式,可管理 gopher 服務: OpenFile、 CreateLocator 和 GetAttribute。
若要與 Gopher 因特網伺服器通訊,您必須先建立 CInternetSession 的實例,然後呼叫 CInternetSession::GetGopherConnection,以建立CGopherConnection
物件並傳回它的指標。 您永遠不會直接建立 CGopherConnection
物件。
若要深入瞭解如何使用CGopherConnection
其他 MFC 因特網類別,請參閱使用 WinInet 進行因特網程式設計一文。 如需使用其他兩個支援的因特網服務的詳細資訊,FTP 和 HTTP 請參閱 CHttpConnection 和 CFtpConnection 類別。
繼承階層架構
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 終止字串的指標,指定要用來登入的密碼。 如果 pstrPassword 和 pstrUserName 都是 NULL,則預設的匿名密碼是使用者的電子郵件名稱。 如果 pstrPassword 為 NULL(或空字串串),但 pstrUserName 不是 NULL,則會使用空白密碼。 下表描述 pstrUserName 和 pstrPassword 四種可能設定的行為:
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 類別