Класс CGopherConnection

Управление подключением к интернет-серверу gopher.

Примечание.

Классы CGopherConnection, CGopherFileCGopherFileFindCGopherLocator и их члены были нерекомендуемы, поскольку они не работают на платформе Windows XP, но они будут продолжать работать на более ранних платформах.

Синтаксис

class CGopherConnection : public CInternetConnection

Участники

Открытые конструкторы

Имя Описание
CGopher Подключение ion::CGopher Подключение ion Формирует объект CGopherConnection.

Открытые методы

Имя Описание
CGopher Подключение ion::CreateLocator Создает объект CGopherLocator для поиска файлов на сервере шифров.
CGopher Подключение ion::GetAttribute Извлекает сведения о атрибутах объекта gopher.
CGopher Подключение ion::OpenFile Открывает файл сгофера.

Замечания

Служба gopher является одной из трех интернет-служб, распознанных классами MFC WinInet.

CGopherConnection Класс содержит конструктор и три дополнительных функции-члены, которые управляют службой gopher: OpenFile, CreateLocator и GetAttribute.

Для взаимодействия с gopher Internet server необходимо сначала создать экземпляр CInternetSession, а затем вызвать CInternetSession::GetGopher Подключение ion, который создает CGopherConnection объект и возвращает указатель на него. Вы никогда не создаете объект напрямую CGopherConnection .

Дополнительные сведения о CGopherConnection работе с другими классами Интернета MFC см. в статье "Интернет-программирование с помощью WinInet". Дополнительные сведения об использовании двух других поддерживаемых интернет-служб, FTP и HTTP см. в классах CHttp Подключение ion и CFtp Подключение ion.

Иерархия наследования

CObject

CInternet Подключение ion

CGopherConnection

Требования

Заголовок: afxinet.h

CGopher Подключение ion::CGopher Подключение ion

Эта функция-член вызывается для создания 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 .

h Подключение ed
Дескриптор 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 или " "анонимный" Имя электронной почты пользователя
Строка, отличной от NULL NULL или " pstrUserName " "
Строка NULL, отличной от NULL ОШИБКА ОШИБКА
Строка, отличной от NULL Строка, отличной от NULL pstrUserName pstrPassword

nPort
Число, определяющее порт TCP/IP для использования на сервере.

Замечания

Вы никогда не создаете напрямую CGopherConnection . Вместо этого вызовите CInternetSession::GetGopher Подключение ion, который создает CGopherConnection объект и возвращает указатель на него.

CGopher Подключение ion::CreateLocator

Вызовите эту функцию-член, чтобы создать указатель гофера для поиска или идентификации файла на сервере 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
Указатель на строку, содержащую имя документа или каталога, который требуется извлечь. Если параметр pstrDisplayString имеет значение NULL, возвращается каталог по умолчанию для сервера шифров.

pstrSelectorString
Указатель на строку селектора, отправляемую на сервер шифров, чтобы получить элемент. pstrSelectorString может иметь значение NULL.

dwGopherType
Это указывает, относится ли pstrSelectorString к каталогу или документу, а также указывает, является ли запрос gopher или gopher+. См. атрибуты структуры GOPHER_FIND_DATA в пакете SDK для Windows.

pstrLocator
Указатель на строку, определяющую открытый файл. Как правило, эта строка возвращается из вызова CGopherFileFind::GetLocator.

pstrServerName
Указатель на строку, содержащую имя сервера gopher.

nPort
Номер, определяющий интернет-порт для этого подключения.

Возвращаемое значение

Объект CGopherLocator.

Замечания

Статическую версию функции-члена требуется указать сервер, а нестатическую версию использует имя сервера из объекта подключения.

Чтобы получить информацию с сервера gopher, приложение должно сначала получить указатель на шифр. Затем приложение должно рассматривать указатель как непрозрачный маркер (т. е. приложение может использовать указатель, но не напрямую управлять им или сравнивать его). Как правило, приложение использует указатель для вызовов функции элемента CGopherFileFind::FindFile для получения определенной части информации.

CGopher Подключение ion::GetAttribute

Вызовите эту функцию-член, чтобы получить сведения о конкретном атрибуте элемента с сервера шифров.

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

Параметры

Рефлокатор
Ссылка на объект CGopherLocator .

strRequestedAttributes
Строка с разделителями пространства, указывающая имена запрошенных атрибутов.

strResult
Ссылка на CString , которая получает тип указателя.

Возвращаемое значение

Имеет ненулевое значение в случае успешного выполнения, иначе — 0. Если вызов завершается ошибкой, можно вызвать функцию GetLastError Win32, чтобы определить причину ошибки.

CGopher Подключение ion::OpenFile

Вызовите эту функцию-член, чтобы открыть файл на сервере шифров.

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

Параметры

Рефлокатор
Ссылка на объект CGopherLocator .

dwFlags
Любое сочетание флагов INTERNET_FLAG_*. Дополнительные сведения о флагах INTERNET_FLAG_* см. в разделе CInternetSession::OpenUrl .

pstrView
Указатель на строку представления файлов. Если на сервере существует несколько представлений файла, этот параметр указывает, какое представление файла нужно открыть. Если pstrView имеет значение NULL, используется представление файлов по умолчанию.

Dwcontext
Идентификатор контекста для открываемого файла. Дополнительные сведения о dwContext см. в примечаниях.

Возвращаемое значение

Указатель на открытый объект CGopherFile .

Замечания

Переопределите dwContext по умолчанию, чтобы задать идентификатор контекста для выбранного значения. Идентификатор контекста связан с этой конкретной операцией объекта, созданного CGopherConnection объектом CInternetSession . Значение возвращается в CInternetSession::OnStatusCallback , чтобы предоставить состояние операции, с которой она определена. Дополнительные сведения об идентификаторе контекста см. в статье Internet First Steps: WinInet .

См. также

Класс CInternetConnection
Диаграмма иерархии
Класс CFtpConnection
Класс CHttpConnection
Класс CInternetConnection
Класс CGopherLocator
Класс CGopherFile
Класс CInternetSession