Разработка приложений для Internet


Библиотека системного программиста" мы начали


В 24 и 28 томах серии " Библиотека системного программиста" мы начали рассказывать о программировании приложений Windows с использованием Microsoft Visual C++ и библиотеки классов MFC. Вы узнали об основных принципах построения приложений MFC, использовании диалоговых панелей, меню, панелях управления и панелях состояния, получили общее представление о работе с базами данных.
В этом томе мы продолжим изучение библиотеки классов MFC и ее возможностей. Теперь мы расскажем о использовании Microsoft Visual C++ и библиотеки MFC для разработки приложений Internet и Intranet. Мы также затронем технологию ActiveX и расскажем о том как использовать в своих приложениях готовые органы управления OLE и ActiveX. В приложениях, представленных в данной книге, мы будем активно работать с диалоговыми панелями. На примере списка с пиктограммами и линейного индикатора вы научитесь использовать стандартные органы управления Windows 95 и Windows NT. Мы также приведем начальные сведения о использовании мультизадачности в приложениях MFC. Одно из наших приложений будет создавать дополнительную задачу, выполняющую загрузку файлов с сервера FTP в фоновом режиме.
До недавнего времени создание приложений, которые могут работать с ресурсами сети Internet или Intranet, являлось достаточно сложной задачей. Программист должен был использовать интерфейс сокетов Windows или программировать на более низком уровне протокола TCP\IP.
Чтобы облегчить тяжелый труд программиста, Microsoft разработала новый программный интерфейс Win32 Internet, получивший красивое название WinInet. С использованием WinInet значительно облегчается создание приложений, работающих с протоколами HTTP, FTP и системой Gopher. При этом программист избавляется не только от необходимости программирования на уровне сокетов Windows или протокола TCP\IP, но и от самостоятельной реализации протоколов HTTP и FTP.
Фактически WinInet представляет собой набор функций, реализующих протоколы HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), а также включающих средства для работы с системой Gopher.


В состав библиотеки MFC начиная с версии 4.2 включен целый ряд классов, надстроенных над программным интерфейсом WinInet. Мы рассмотрим использование этих классов на примере нескольких приложений, предназначенных для работы с серверами FTP и WWW.
Приложение FtpView, рассмотренное в этой книге, позволяет соединиться с сервером FTP, просмотреть структуру каталогов сервера и даже загрузить с сервера нужные вам файлы. Модифицируя приложение FtpView мы продемонстрируем различные приемы работы с серверами FTP.
Так как загрузка файлов с сервера, особенно большого размера, может занять слишком много времени, мы расскажем о том, как можно организовать получение файла в фоновом режиме с помощью отдельной задачи. Попутно вы узнаете о том, как приложение, построенное с использованием библиотеки классов MFC, может создать несколько задач и организовать их взаимодействие.
В отдельном разделе мы рассмотрим взаимодействие с серверами WWW. На примере приложения Console HTTP мы покажем как с использованием WinInet можно передать серверу WWW запрос и получить от него интересующую вас информацию или текст страниц WWW.
Естественно, даже с использованием классов WinInet, сложно создать полноценное приложение, которое позволяет просматривать страницы WWW. Достаточно того, что такое приложение должно не только правильно интерпретировать все операторы языка HTML, но также исполнять программы на языке JAVA, и правильно отображать органы управления ActiveX.
Вы, однако, можете очень быстро создать настоящий навигатор Internet, если воспользуетесь органом управления Microsoft Web Browser Control. На основе этого органа управления построен навигатор Microsoft Internet Explorer.
Microsoft Web Browser Control представляет собой орган управления ActiveX, который вы можете включить в свое приложение и использовать его как другие органы управления Windows.
Мы приведем исходный текст приложения Look, использует Microsoft Web Browser Control для просмотра серверов Internet. Наше приложение представляет собой маленький навигатор Internet Explorer, который обладает практически теми же возможностями, что и настоящий навигатор Microsoft Internet Explorer.
В заключение мы расскажем о том, как ваше приложение может использовать Microsoft Internet Explorer, Netscape Navigator и другие навигаторы для просмотра ресурсов сети Internet или Intranet. Таким образом, например, можно организовать получение из Internet самой последней справочной информации по вашему приложению.

Содержание раздела