Программирование для Internet (Технологии для работы в Internet. Приложение в стиле браузера)

Страницы работы

Содержание работы

Глава 12

ПРОГРАММИРОВАНИЕ ДЛЯ INTERNET

12.1. Технологии для работы в Internet

Visual C++ обладает технологиями, облегчающими разработку приложений для работы в Internet, значительно расширяющими возможности приложений. К ним относятся Winsock (Windows Socket), MAPI (Messaging Application Programming Interface),  WinInet (Windows Internet), ISAPI (Internet Server API), ActiveX для Web.

Еще до появления операционной системы Windows в Internet соглашение Berkley sockets (гнезда из Беркли) было стандартом связи TCP/IP между компьютерами UNIX. Протоколы TCP/IP (Transmission Control Protocol/Internet Protocol) появились и в других операционных системах. Затем группа из 20 разработчиков создала технологию WinSock (Windows Socket) – базовый API для TCP/IP. Программирование в технологии Winsock основано на следующих принципах. Каждый компьютер имеет числовой адрес – IP-адрес, а программы имеют собственный порт. Комбинация IP-адреса и номера порта называется socket (гнездо). Протокол TCP устанавливает дуплексную связь между программами с помощью гнезд. После установления соединения осуществляется передача и прием потока байтов. В MFC имеются два класса Winsock: CAsyncSocket и CSocket, реализующих асинхронное программирование Winsock. Написание Winsock-программ достаточно трудоемкий процесс, требуется много рутинной работы, например, самостоятельное заполнение структуры адреса гнезда. Технология Winsock может быть применена для написания клиент/серверных программ для Internet, но не использующих приложения типа электронной почты, Web, FTP и других популярных приложений Internet. Для этих приложений лучше использовать более передовые технологии MAPI, WinInet, ISAPI, ActiveX для Web, предоставляющие программистам большие возможности.

Технология MAPI (Messaging API - почтовый интерфейс) – это средство разработки приложений, осуществляющих пересылку и прием сообщений для самой популярной информационной службы Internet электронной почты. Для использования MAPI достаточно на этапе 4 создания приложения с помощью AppWizard установить флажок на опции MAPI. В меню File создается новый пункт Send, при выборе которого запускается клиент MAPI для посылки сообщения, содержащего текущий документ. Остается только дописать адрес, тему сообщения и текст для документа. Существуют и более сложные интерфейсы MAPI: Extendet MAPI (расширенный MAPI) и OLE Messaging (обработка сообщений OLE), основанных на концепции технологии ActiveX (см. гл. 10).

Наиболее популярной технологией программирования для Internet является технология WinInet (Windows Internet). В библиотеке классов MFC Visual C++ имеются классы WinInet, облегчающие написание клиентских приложений и освобождающие от использования WinSock. Связь классов WinInet выглядит следующим образом:

                                                 CObject

CException                                                      CInternetSession

 


    CInternetException                                      CInternetConnection

CFile                                                                       CFtpConnection

 


     CStdioFile                                                         CGopherConnection

         CInternetFile                                                 CHttpConnection

               CHttpFile                                            CFileFind

 


               CGopherFile                                             CFtpFileFind

                                                                                 CGopherFileFind

 


                                                                           CGopherLocation

Работа в Internet происходит в следующей последовательности: класс CInternetSession создает объект класса; затем, при наличии адреса ресурса URL устанавливается соединение с помощью функции OpenURL() по протоколу HTTP (HiperText Transfer Protocol), FTP (File Transfer Protocol) или Gopher (старый текстовый протокол, связи в котором устанавливает администратор); функция OpenUrl() возвращает указатель на файловый объект класса CStdioFile; затем происходит считывание содержимого файла с помощью функций класса CStdioFile. При отсутствии адреса URL сеанс работы с Internet происходит в следующей последовательности: с помощью функций GetHtttpConnection(), GetFtpConnection(), GetGopherConnection() класса CInternetSession определяется объект соединения и устанавливается соединение по указанному протоколу; затем, вызывается функция OpenFile() соответствующего объекта соединения, т.е. CHttpConnection::OpenFile() возвращает объект класса CHttpFile, CFtpConnection::OpenFile() возвращает объект класса CInternetFile, CGopherConnection::OpenFile() возвращает объект класса CGopherFile.

Основные функции класса CInternetSession представлены в следующей таблице:

Функция

Назначение

CinternetSession

Создает объект класса

Close

Разрывает соединение с Internet

GetContext

Получает идентификатор контекста для сеанса Internet

GetFtpConnection

Открывает сеанс FTP с сервером

GetGopherConnection

Открывает сервер Gopher для приложения

GetHttpConnection

Открывает сервер HTTP для приложения

OpenURL

Анализирует и открывает URL (адрес)

Основные функции класса CFtpConnection представлены в следующей таблице:

Функция

Назначение

CftpConnection

Создает объект класса CftpConnection

Close

Разрывает подключение к серверу

CreateDirectory

Создает каталог на сервере

GetCurrentDirectory

Получает текущий каталог для подключения

GetCurrentDirectoryAsURL

Получает текущий каталог для подключения URL

GetFile

Получает файл с сервера

OpenFile

Открывает файл на сервере

PutFile

Помещает файл на сервер

Remove

Удаляет файл с сервера

RemoveDirectory

Удаляет заданный каталог с сервера

Rename

Переименовывает файл на сервере

SetCurrentDirectory

Задает текущий каталог для FTP

Похожие материалы

Информация о работе