Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Visual C++ обладает технологиями, облегчающими разработку приложений для работы в Internet, значительно расширяющими возможности приложений.

К ним относятся Winsock (Windows Socket), MAPI (Messaging Application Programming Interface), WinInet (Windows Internet), ISAPI (Internet Server API), ActiveX для Web.

Программирование в технологии Winsock основано на следующих принципах. Каждый компьютер имеет числовой адрес – IP-адрес, а программы имеют собственный порт. Комбинация IP-адреса и номера порта называется socket (гнездо). Протокол TCP устанавливает дуплексную связь между программами с помощью гнезд. После установления соединения осуществляется передача и прием потока байтов.

В MFC имеются два класса Winsock: базовый класс CAsyncSocket и производный класс CSocket, реализующих асинхронное программирование Winsock, т.е. в каждый момент времени происходит множество событий. Классы облегчают работу с сокетами, так как обеспечивают вызов нужных функций API. Написание 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 и OLE MessagingiveX.

Технология ISAPI (Internet Server API) применяется для расширения возможностей сервера HTTP, позволяя создавать расширения и фильтры. Расширения – это динамически загружаемые библиотеки (DLL), которые можно вызывать пользователем прямо с Web-страницы. Фильтры – это библиотеки DLL, работающие вместе с сервером и проверяющие данные, идущие к серверу и от него. Но для того, чтобы использовать расширения и фильтры, ISAPI и Web-страница должны находиться на совместном сервере.

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

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

CObject

CException CInternetSession


CInternetException CInternetConnection

CFile CFtpConnection


CStdioFile CGopherConnection

CInternetFile CHttpConnection

CHttpFile CFileFind


CGopherFile CFtpFileFind

CGopherFileFind


CGopherLocation

Рис. 13.1. Связь классов WinInet

При отсутствии адреса URL сеанс работы с Internet происходит в следующей последовательности: с помощью функций GetHtttpConnection(), GetFtpConnection(), GetGopherConnection() класса CInternetSession определяется объект соединения и устанавливается соединение по указанному протоколу; затем, вызывается функция OpenFile() соответствующего объекта соединения, т.е. CHttpConnection::OpenFile() возвращает объект класса CHttpFile, CFtpConnection::OpenFile() возвращает объект класса CInternetFile, CGopherConnection::OpenFile() возвращает объект класса CGopherFile.

Классы CHttpConnection, CFtpConnection, CGopherConnection используют протоколы соответственно HTTP, FTP, Gopher и представляют собой постоянное соединение с хост-компьютером (обычно протоколы не поддерживают постоянное соединение). Классы CFileFind, CFtpFileFind, CGopherFileFind служат для просмотра соответствующих каталогов и поиска файлов.

Классы WinInet обычно предназначены для написания клиентских приложений, а для написания серверных приложений можно использовать технологию ISAPI (Internet Server API), расширяющую возможности сервера HTTP (World Wide Web).





Дата публикования: 2014-11-26; Прочитано: 309 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...