Udostępnij za pośrednictwem


Klasa CGopherConnection

Zarządza połączeniem z serwerem internetowym gopher.

Uwaga

Klasy CGopherConnection, CGopherFile, CGopherFileFindCGopherLocator i ich składowe zostały przestarzałe, ponieważ nie działają na platformie Windows XP, ale będą nadal działać na wcześniejszych platformach.

Składnia

class CGopherConnection : public CInternetConnection

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CGopherConnection::CGopherConnection CGopherConnection Tworzy obiekt.

Metody publiczne

Nazwa/nazwisko opis
CGopherConnection::CreateLocator Tworzy obiekt CGopherLocator w celu znalezienia plików na serwerze gopher.
CGopherConnection::GetAttribute Pobiera informacje o atrybucie obiektu gopher.
CGopherConnection::OpenFile Otwiera plik gopher.

Uwagi

Usługa gopher jest jedną z trzech usług internetowych rozpoznawanych przez klasy MFC WinInet.

Klasa CGopherConnection zawiera konstruktor i trzy dodatkowe funkcje składowe, które zarządzają usługą gopher: OpenFile, CreateLocator i GetAttribute.

Aby komunikować się z serwerem internetowym gopher, należy najpierw utworzyć wystąpienie CInternetSession, a następnie wywołać polecenie CInternetSession::GetGopherConnection, który tworzy CGopherConnection obiekt i zwraca do niego wskaźnik. Nigdy nie tworzysz CGopherConnection obiektu bezpośrednio.

Aby dowiedzieć się więcej o CGopherConnection sposobie pracy z innymi klasami internetowymi MFC, zobacz artykuł Programowanie internetowe za pomocą usługi WinInet. Aby uzyskać więcej informacji na temat korzystania z dwóch pozostałych obsługiwanych usług internetowych, FTP i HTTP zobacz klasy CHttpConnection i CFtpConnection.

Hierarchia dziedziczenia

Obiekt CObject

CInternetConnection

CGopherConnection

Wymagania

Nagłówek: afxinet.h

CGopherConnection::CGopherConnection

Ta funkcja składowa jest wywoływana w celu skonstruowania CGopherConnection obiektu.

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

Parametry

PSession
Wskaźnik do powiązanego obiektu CInternetSession .

hPołączone
Obsługa systemu Windows bieżącej sesji internetowej.

pstrServer
Wskaźnik do ciągu zawierającego nazwę serwera FTP.

dwContext
Identyfikator kontekstu operacji. dwContext identyfikuje informacje o stanie operacji zwrócone przez CInternetSession::OnStatusCallback. Wartość domyślna to 1; Można jednak jawnie przypisać określony identyfikator kontekstu dla operacji. Obiekt i wszystkie wykonywane prace zostaną skojarzone z tym identyfikatorem kontekstu.

pstrUserName
Wskaźnik do ciągu zakończonego wartości null, który określa nazwę użytkownika do zalogowania. Jeśli wartość NULL, wartość domyślna to anonimowe.

pstrPassword
Wskaźnik do ciągu zakończonego wartością null, który określa hasło używane do logowania. Jeśli zarówno pstrPassword , jak i pstrUserName mają wartość NULL, domyślne anonimowe hasło to nazwa e-mail użytkownika. Jeśli parametr pstrPassword ma wartość NULL (lub pusty ciąg), ale parametr pstrUserName nie ma wartości NULL, używane jest puste hasło. W poniższej tabeli opisano zachowanie czterech możliwych ustawień pstrUserName i pstrPassword:

pstrUserName pstrPassword Nazwa użytkownika wysłana do serwera FTP Hasło wysyłane do serwera FTP
NULL lub " " NULL lub " " "anonimowy" Nazwa e-mail użytkownika
Ciąg bez wartości NULL NULL lub " " pstrUserName " "
Ciąg o wartości null inny niż NULL BŁĄD BŁĄD
Ciąg bez wartości NULL Ciąg bez wartości NULL pstrUserName pstrPassword

nPort
Numer identyfikujący port TCP/IP do użycia na serwerze.

Uwagi

Nigdy nie tworzysz bezpośrednio CGopherConnection . Zamiast tego wywołaj metodę CGopherConnection CInternetSession::GetGopherConnection, która tworzy obiekt i zwraca do niego wskaźnik.

CGopherConnection::CreateLocator

Wywołaj tę funkcję składową, aby utworzyć lokalizator gopher, aby znaleźć lub zidentyfikować plik na serwerze 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);

Parametry

pstrDisplayString
Wskaźnik do ciągu zawierającego nazwę dokumentu lub katalogu, który ma zostać pobrany. Jeśli parametr pstrDisplayString ma wartość NULL, zostanie zwrócony domyślny katalog serwera gopher.

pstrSelectorString
Wskaźnik do ciągu selektora, który ma zostać wysłany do serwera gopher w celu pobrania elementu. wartość pstrSelectorString może mieć wartość NULL.

dwGopherType
Określa, czy pstrSelectorString odwołuje się do katalogu lub dokumentu, i czy żądanie jest gopher lub gopher+. Zobacz atrybuty struktury GOPHER_FIND_DATA w zestawie Windows SDK.

pstrLocator
Wskaźnik do ciągu identyfikującego plik do otwarcia. Zazwyczaj ten ciąg jest zwracany z wywołania metody CGopherFileFind::GetLocator.

pstrServerName
Wskaźnik do ciągu zawierającego nazwę serwera gopher.

nPort
Numer identyfikujący port internetowy dla tego połączenia.

Wartość zwracana

Obiekt CGopherLocator.

Uwagi

Statyczna wersja funkcji składowej wymaga określenia serwera, podczas gdy wersja niestatyczna używa nazwy serwera z obiektu połączenia.

Aby pobrać informacje z serwera gopher, aplikacja musi najpierw uzyskać lokalizator gopher. Aplikacja musi następnie traktować lokalizator jako nieprzezroczystym tokenem (czyli aplikacja może używać lokalizatora, ale nie bezpośrednio manipulować ani porównywać). Zwykle aplikacja używa lokalizatora do wywołań funkcji składowej CGopherFileFind::FindFile w celu pobrania określonej informacji.

CGopherConnection::GetAttribute

Wywołaj tę funkcję składową, aby pobrać określone informacje o atrybucie o elemencie z serwera gopher.

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

Parametry

refLocator
Odwołanie do obiektu CGopherLocator .

strRequestedAttributes
Rozdzielany spacjami ciąg określający nazwy żądanych atrybutów.

strResult
Odwołanie do obiektu CString odbierającego typ lokalizatora.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0. Jeśli wywołanie zakończy się niepowodzeniem, funkcja Win32 GetLastError może zostać wywołana, aby określić przyczynę błędu.

CGopherConnection::OpenFile

Wywołaj tę funkcję składową, aby otworzyć plik na serwerze gopher.

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

Parametry

refLocator
Odwołanie do obiektu CGopherLocator .

dwFlags
Dowolna kombinacja flag INTERNET_FLAG_*. Aby uzyskać więcej informacji na temat flag INTERNET_FLAG_*, zobacz CInternetSession::OpenUrl .

pstrView
Wskaźnik do ciągu widoku pliku. Jeśli na serwerze istnieje kilka widoków pliku, ten parametr określa widok pliku do otwarcia. Jeśli element pstrView ma wartość NULL, zostanie użyty domyślny widok pliku.

dwContext
Identyfikator kontekstu otwieranego pliku. Zobacz Uwagi , aby uzyskać więcej informacji na temat dwContext.

Wartość zwracana

Wskaźnik do obiektu CGopherFile do otwarcia.

Uwagi

Zastąpij wartość domyślną dwContext , aby ustawić identyfikator kontekstu na wartość wybranej wartości. Identyfikator kontekstu jest skojarzony z tą konkretną operacją obiektu utworzonego CGopherConnection przez obiekt CInternetSession . Wartość jest zwracana do CInternetSession::OnStatusCallback , aby podać stan operacji, z którą została zidentyfikowana. Aby uzyskać więcej informacji na temat identyfikatora kontekstu, zobacz artykuł Internet First Steps: WinInet (Internet First Steps: WinInet: WinInet ).

Zobacz też

Klasa CInternetConnection
Wykres hierarchii
Klasa CFtpConnection
Klasa CHttpConnection
Klasa CInternetConnection
Klasa CGopherLocator
Klasa CGopherFile
Klasa CInternetSession