Архитектура Microsoft Windows для разработчиков

         

ActiveX-элемент Web Browser


Элемент управления Web Browser позволяет снабдить приложение функциями программы просмотра Web. Он автоматически отображает текст и графику с Web-страницы, интерпретируя команды HTML.



ActiveX-элементы для Интернета


Элемент управления Microsoft Internet Transfer Control разработан как ActiveX-обо-лочка для интерфейса Windows Sockets. Он поддерживает протоколы HTTP и FTP, упрощая разработку приложений для Интернета. Например, средствами протокола HTTP Ваше приложение может подключиться к серверу WWW для загрузки HTML-документов.

Протокол FTP позволяет регистрироваться на FTP-серверах для копирования файлов с сервера на компьютер-клиент и обратно. Свойства управляющего элемента UserName и Password обеспечивают регистрацию на серверах, требующих аутентификации. Стандартные команды FTP, такие как CD и GET, реализованы при помощи метода Execute.



Альтернативный текст


Загрузку Web-страницы можно прервать или отменить. При этом в окне программы просмотра отобразится неполная Web-страница, которая тем не менее будет информативной, если Вы снабдите графические изображения альтернативным текстом. Кроме того, некоторые программы просмотра (например, Internet Explorer) снабжены всплывающими подсказками, которые пояснят, что представляло собой незагруженное изображение.

Пример В этом HTML-коде с помощью параметра alt задан альтернативный текст для кнопки Next — именно его увидит пользователь, если изображение кнопки не будет загружено.

<img src="Next.gif" аlt="Следующая страница">



Чересстрочные GIF-изображения


Не стоит заставлять клиента ждать полной загрузки изображения — используйте чересстрочные GIF-изображения, для загрузки которых достаточно и небольшой полосы пропускания. Чересстрочное GIF-изображение улучшается по мере загрузки — сначала оно как бы затуманенное, но постепенно его качество достигает нужного уровня.



Фрагментация большого изображения


Если на Вашей Web-странице есть ссылки на другие страницы, стоит применять отдельные маленькие файлы изображений для каждой из них, а не общую навигационную карту со множеством «горячих точек». Предположим, что Вы используете карту континента, на которой пользователь может выбрать нужную ему страну. При малой полосе пропускания это изображение будет загружаться медленно, поэтому лучше разбить его на несколько небольших фрагментов, соответствующих стране.



Глобальная сеть Интернет


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

Корпоративные интрасети

Одна из самых важных составляющих Интернета — World Wide Web (WWW) — появилась как средство доставки информации частным лицам. Корпорации, поняв привлекательность этого способа, поспешили реализовать ту же технологию в своих закрытых локальных сетях, и в результате термин «локальная сеть» потихоньку заменился более привычным нам — интрасеть. В настоящий момент все возможности теперь уже Интернета при необходимости реализуются в закрытых защищенных корпоративных интрасетях. Кроме того, эти сети можно подключать к Интернету, чтобы открыть пользователям «окно в мир». При наличии соответствующих прав доступа через Интернет можно даже соединить несколько интра-сетей.



Как обойти ограничения полосы пропускания


Есть несколько способов, позволяющих разработчику Web-страниц преодолеть ограничения, вызванные малой полосой пропускания.



Канальный и физический уровни


При разработке сетевых приложений можно считать, что забота об этих уровнях возлагается на операционную систему. Все, что должно сделать приложение, — выбрать протокол и установить соединение, например, средствами интерфейса типа Microsoft Win32 Internet (WinInet) API. После этого приложение может сосредоточиться на передаче и приеме данных, доверив всю заботу о двух нижних уровнях Windows и сетевому драйверу.



Концепции построения сетей


Глава 2. Концепции построения сетей

Прежде всего

Для изучения занятий этой главы необходимы:

поддержка протокола TCP/IP в Windows 95;

Personal Web Server;

Visual Basic;

звуковая карта и колонки или наушники для прослушивания мультимедиа-файлов;

мультимедиа-файл Chap02.exe.



Локальные сети


Когда впервые потребовалось соединить компьютеры для совместного использования файлов и принтеров, они находились на небольшом расстоянии друг от друга, а число пользователей было невелико. Например, в начале 80-х годов наиболее популярный кабельный способ соединения в локальную сеть (Local Area Network, LAN) допускал подключение до 30 пользователей при максимальной длине кабеля до 200 метров. Локальные сети и сейчас используются (и весьма эффективно) небольшими фирмами, в помещениях, расположенных на одном этаже, но крупным компаниям со множеством офисов необходимы более широкие сетевые возможности.



Настройка TCP/IP


Для настройки TCP/IP на компьютере-клиенте под управлением Windows 95 необходима следующая информация (рис. 2.2).

Параметр Описание
IP-адрес IP-адрес — это 32-разрядный логический адрес (разделенный на четыре октета), используемый для идентификации TCP/IР-хоста* . Каждый IP-адрес состоит из двух частей: идентификатора сети и идентификатора хоста. Первый одинаков для всех хостов, расположенных в одной физической сети, а второй определяет конкретный хост в сети. Каждому компьютеру, подключенному к сети TCP/IP, необходим уникальный IP-адрес
Маска подсети Маска подсети предназначена для разделения IP-адреса на идентификатор сети и идентификатора хоста. При попытке соединения между TCP/IP-хостами с помощью маски подсети выясняется, где находится адресат — в локальной сети или за ее пределами
Шлюз по умолчанию Для соединения с хостом за пределами локальной сети нужно задать IP-адрес шлюза по умолчанию. Шлюзу по умолчанию TCP/IP пересылает пакеты, адресованные сетям, маршрут к которым не известен локальному хосту. Если шлюз по умолчанию не указан, возможности соединения ограничены локальной сетью и сетями, маршрут к которым указан в локальной таблице маршрутизации
Маска подсети Маска подсети предназначена для разделения IP-адреса на идентификатор сети и идентификатора хоста. При попытке соединения между TCP/IP-хостами с помощью маски подсети выясняется, где находится адресат — в локальной сети или за ее пределами
Шлюз по умолчанию Для соединения с хостом за пределами локальной сети нужно задать IP-адрес шлюза по умолчанию. Шлюзу по умолчанию TCP/IP пересылает пакеты, адресованные сетям, маршрут к которым не известен локальному хосту. Если шлюз по умолчанию не указан, возможности соединения ограничены локальной сетью и сетями, маршрут к которым указан в локальной таблице маршрутизации



PING


Проверив конфигурацию при помощи WINIPCFG, воспользуйтесь утилитой PING (это сокращение от английского названия Packet Internet Groper, которое переводится как «пакетный исследователь сетей») для проверки соединения. Это диагностическое средство предназначено для тестирования TCP/IР-соединений и выявления неисправностей. Средствами PING можно также проверить доступность и работоспособность конкретного TCP/IP-хоста.

> Применение PING

Запустите сеанс MS-DOS.

Введите команду ping localhost для проверки возвратного адреса.

Используя IP-адрес, полученный в пункте 2 предыдущего упражнения, запустите утилиту PING еще раз.

Если все прошло гладко, Вы увидите примерно такое сообщение:

Pinging 1Р_адрес with 32 bytes of data:

Reply from 1Р_адрес: bytes= x time<10ms TTL= x

Reply from 1Р_адрес: bytes= x time<10ms TTL= x

Reply from 1Р_адрес: bytes= x time<10ms TTL= x

Reply from 1Р_адрес: bytes= x time<10ms TTL= x

> Проверка конфигурации компьютера средствами WINIPCFG и PING

Теперь Вы узнаете, как проверить конфигурацию компьютера и соединений средствами утилит WINIPCFG и PING:

Рис.2.3 Проверка конфигурации компьютера средствами WINIPCFG и PING

С помощью утилиты W1NIPCFG проверьте, выполнена ли инициализации TCP/IP. В меню Start выберите Run, введите в одноименном диалоговом окне команду

Winipcfg

и щелкните кнопку ОК.

Проверьте утилитой PING IP-адрес 127.0.0.1 (возвратный адрес), чтобы убедиться, что TCP/IP установлен и загружен корректно. Все сетевые адаптеры, на которых установлен TCP/IP, имеют предназначенный для тестирования IP-адрес по умолчанию — 127.0.0.1. В командной строке окна MS-DOS наберите команду:

Ping 127.0.0.1

Проверьте утилитой PING IP-адрес Вашего компьютера, чтобы убедиться, что он задан корректно. В командной строке окна MS-DOS наберите команду:

Ping IР-адрес_локального_хоста

Проверьте утилитой PING IP-адрес шлюза по умолчанию, чтобы убедиться, что шлюз функционирует и Вы можете подключиться к компьютеру локальной сети. В командной строке окна MS-DOS наберите команду:

Ping IР-адрес_шлюза_по_умолчанию

Проверьте утилитой PING IP-адрес удаленного хоста, чтобы убедиться, что Вы можете соединяться через маршрутизатор. В командной строке окна MS-DOS наберите команду:

Ping IР-адрес_удаленного_хоста

Примечание В состав Windows NT, в отличие от Windows 95, вместо WINIPCFG входит утилита командной строки IPCONFIG. Версия WINIPCFG для Windows NT включена в комплект ресурсов Windows NT.



Преимущества API Winlnet


Не нужно знать подробности устройства и работы TCP/IP и Windows Sockets.

API Winlnet реализует основные функции протоколов Интернета, поэтому Вам не придется писать код Windows Sockets или изучать протоколы TCP/IP.

Не нужно изучать протоколы Интернета.

Хотя концепции, положенные в основу таких протоколов Интернета, как FTP и HTTP, просты, их реализация может оказаться довольно сложной. Например, серверы FTP возвращают списки каталогов в виде ASCII-файлов, для разбора которых нужно знать их формат. Средствами инкапсуляции API WinInet решает проблему просмотра каталогов FTP-серверов раз и навсегда для всех приложений, использующих протокол FTP. Этот подход, в частности, обеспечивает возможность разработки приложений в едином стиле.

Постоянный, в отличие от постоянно меняющихся и эволюционирующих протоколов, набор функций.

Вам не придется всякий раз обновлять приложение при изменении используемого протокола. Кроме того, даже новейшие протоколы (например, HTTP I.I) могут быть реализованы без изменения приложения.

Стандарт функций Win32.

Интернет-функции Win32 аналогичны традиционным средствам Win32 для обработки ошибок и работы с буферами. Если Вы знакомы с набором функций Win32, то обнаружите, что функции API Winlnet возвращают информацию в знакомом формате.

Полный доступ к возможностям протоколов Интернета.

Функции API Winlnet обеспечивают приложениям доступ к дополнительным возможностям протоколов Интернета.

Высокопроизводительные многопоточные приложения Интернета.

Функции API Winlnet полностью многопоточны и реентерабельны, то есть обеспечивают одновременный вызов функций из разных потоков без побочных эффектов. Функции API Winlnet самостоятельно выполняют всю необходимую синхронизацию.

Встроенная поддержка кэширования.

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

Функции API Winlnet позволяют разрабатывать клиентские приложения для Интернета, но они не предназначены для разработки серверных приложений. Дело в том, что в целях достижения максимальной производительности сервер должен контролировать доступ к протоколу и операции ввода/вывода. Кроме того, функции API Winlnet не обеспечивают доступа к серверам почты и новостей.



Прикладной уровень


Приложение в данном контексте — это отдельный протокол, созданный на прикладном уровне стека TCP/IP. Существуют десятки стандартных протоколов прикладного уровня; более того, никто не запрещает Вам создавать свои собственные. Ниже перечислены несколько популярных протоколов прикладного уровня TCP/IP.

Протокол Название Описание
DNS Domain Name System (Система имен доменов) Распределенная база данных, которая позволяет приложениям узнавать IP-адреса компьютеров сети по их именам
FTP File Transfer Protocol (Протокол передачи файлов) Позволяет копировать файлы с одного подключенного к Интернету компьютера на другой
Telnet Telecommunications Network Protocol (Протокол сетевых телекоммуникаций) Средства удаленной регистрации на компьютерах под управлением различных операционных систем
HTTP Hypertext Transfer Protocol (Протокол передачи гипертекстовой информации) Протокол для поиска и загрузки распределенных гипертекстовых документов и перемещения между ними. На основе этого протокола функционирует WWW
NNTP Network News Transport Protocol (Протокол передачи новостей) Протокол для доступа к серверам новостей в Интернете
SMTP Simple Mail Transfer Protocol (Упрощенный протокол передачи почты) Протокол обмена электронной почтой через Интернет



В терминологии TCP/IP


В этом упражнении Вы познакомитесь с приложением-клиентом протокола FTP, которое устанавливается вместе с другими утилитами TCP/IP. Это приложение командной строки; у независимых разработчиков можно приобрести аналогичные программы с поддержкой графического интерфейса. Сервер FTP устанавливается, в частности, вместе с Microsoft Personal Web Server, однако имейте в виду, что автоматический запуск сервиса FTP по умолчанию не предусмотрен — это нужно делать вручную.

> Запуск сервиса FTP

Дважды щелкните значок Personal Web Server в системной области панели задач Windows 95.

Откройте вкладку Services.

Если сервис FTP не запущен, щелкните кнопку Start.

Щелкните кнопку ОК.

> Подключение к серверу FTP

1. Выбрав в меню Start команду Run, введите в одноименном окне следующую команду:

ftp localhost

Когда появится приглашение к регистрации, введите имя пользователя:

anonymous

В качестве пароля введите Ваш адрес электронной почты — это общепринятый метод регистрации анонимных пользователей.

Чтобы посмотреть список команд, наберите в строке приглашения FTP команду:

help

Чтобы закончить сеанс, наберите команду quit.



Приоритет загрузки текста


Режим вывода текста до изображений по умолчанию установлен в Microsoft Internet Explorer. Когда пользователь открывает Web-страницу, сначала появляется текст. Таким образом, пользователь имеет возможность, не теряя времени, просмотреть информацию, пока загружаются изображения.



Региональные сети


В настоящее время локальные сети стали составной частью разветвленный сетевой среды — региональных сетей (Wide Area Network, WAN). Локальные сети превращаются в глобальные постепенно, по мере того как к сети подключаются пользователи из других городов и областей. Их число при этом может возрасти с десятков до тысяч человек. Сейчас многие компании хранят и обрабатывают значительную часть важнейших данных именно в такой распределенной сетевой среде.



Локальные сети эффективны для небольших


Локальные сети эффективны для небольших сред, но нужды сегодняшнего бизнеса «по плечу» только глобальным сетям. Подключая LAN к Интернету, крупные фирмы могут создать недорогую глобальную сетевую среду. Интрасеть обеспечивает корпоративным пользователям доступ к локальным ресурсам, к Интернету и, при наличии соответствующих прав доступа, к другим интрасетям.

В основе Интернета лежит протокол


В основе Интернета лежит протокол TCP/IP. Фактически он объединяет различные протоколы, занимающие несколько уровней модели OSI. Выбор протокола прикладного уровня зависит от сервера, клиентом которого будет Ваше приложение. В состав TCP/IP входит несколько утилит для поиска и устранения неисправностей в работе сети.

с которой данные могут быть


Полоса пропускания — это скорость, с которой данные могут быть переданы с одного компьютера на другой. Запаздывание — задержка в передаче данных, вызванная физическим расстоянием и большим числом устройств, участвующих в передаче. Проблемы, вызванные малой полосой пропускания, устраняют следующим образом:
при загрузке Web-страницы сначала выводят текст и только потом изображения;
используют альтернативный текст для описания графики;
применяют отдельные небольшие файлы изображений для ссылок на другие страницы вместо одной большой картинки;
используют чересстрочные GIF-изображения.

Интерфейс Windows Sockets обеспечивает разработчикам


Интерфейс Windows Sockets обеспечивает разработчикам сетевых приложении доступ к функциям протокола TCP/IP. Другой интерфейс — WinInet — реализует доступ к функциям популярных протоколов HTTP и FTP. Для быстрой разработки приложений идеально подходят элементы управления ActiveX, обеспечивающие нужные функции без дополнительного программирования.

Сетевые элементы управления ActiveX


Предназначенные для Интернета управляющие элементы ActiveX упрощают разработку сетевых приложений. Здесь приведен лишь краткий обзор элементов ActiveX — их детальному обсуждению посвящена глава 8.



Создание программы просмотра Web


В этом упражнении Вы с помощью Visual Basic и элемента управления Web Browser Control создадите простую программу просмотра Web.

> Добавление в проект формы программы просмотра

Запустите Microsoft Visual Basic и создайте новый проект типа Standard EXE.

Щелкните правой кнопкой мыши Project Explorer и выберите команду Form в меню Add.

На вкладке Tab выберите Browser и щелкните кнопку Open.

Присвойте свойству MDIChild формы frmBrowser значение False.

> Выбор стартового объекта проекта

В меню Project щелкните команду Project1 Properties.

В окне Startup Object выберите frmBrowser и щелкните кнопку ОК.

Запустите приложение и откройте какую-нибудь Web-страницу на Вашем компьютере (например, localhost).

Остановите приложение и изучите код обработки щелчков кнопок панели инструментов.



TRACERT


Утилита TRACERT предназначена для получения детальной информации о маршруте к удаленному компьютеру. Если утилита PING предоставляет информацию о связи с хостом (в локальной или удаленной сети) и о скорости обмена (показывая в миллисекундах время, которое пакет затрачивает на путешествие между хостами), TRACERT показывает весь путь пакета до удаленного компьютера. Когда Вам не удается соединиться с компьютером назначения, TRACERT поможет выяснить, где именно разорвана связь.

> Применение TRACERT

Используйте утилиту TRACERT в командной строке окна MS-DOS для проверки соединения с другим компьютером в локальной сети. Ее синтаксис тот же, что и у команды ping:

tracert имя_удаленного_компьютера

Если Ваш компьютер подключен к Интернету, средствами TRACERT проверьте соединение с узлом www.microsoft.com.



Транспортный уровень


Транспортный уровень регулирует поток данных между компьютерами сети IP. Набор TCP/IP включает два протокола транспортного уровня: TCP и протокол пользовательских дейтаграмм (User Datagram Protocol, UDP). TCP ориентирован на соединение и гарантированную передачу данных между двумя компьютерами по каналам, не отличающимся особой надежностью. TCP разбивает пользовательское сообщение на блоки не больше 64 кб и передает их сетевому уровню для маршрутизации и доставки. Надежная доставка данных обеспечивается с помощью уведомлений, нумерации пакетов, средств обработки тайм-аутов и контрольных сумм. Поскольку TCP берет всю эту работу на себя, прикладной уровень просто предполагает, что данные, переданные им другому компьютеру, доставлены без искажений. Именно благодаря этим свойствам TCP столь популярен.



Устранение неисправностей TCP/IP


На случай проблем с сетью вместе с TCP/IP устанавливаются средства проверки клиентского компьютера, помогающие устранить неисправности: утилиты WINIPCFG, PING и TRACERT.



Выбор протокола прикладного уровня


При разработке приложения, ориентированного на сеть TCP/IP, нужно решить, может ли оно полагаться на существующий сетевой протокол прикладного уровня или Вам придется создавать свой собственный. Выбор зависит от сервера, клиентом которого будет Ваше приложение. Например, если приложение должно поддерживать просмотр Web, стоит воспользоваться протоколом HTTP. Однако, если Ваше приложение — клиент-серверное, причем его компоненты обмениваются данными только между собой, вероятно, лучше разработать свой протокол.



Windows Sockets


Воспользоваться всеми возможностями протокола TCP/IP Вам поможет интерфейс Windows Sockets. Он был разработан как интерфейс для языка С, поэтому для вызова его функций из программы Visual Basic придется создать необходимые операторы Declare.

Спецификация Windows Sockets определяет сетевой интерфейс прикладного программирования для Microsoft Windows. Он поддерживает как стандартные со-кеты, так и набор специфических расширений, позволяющих разработчику обратиться к механизму сообщений Windows.

Спецификация Windows Sockets предоставляет разработчикам приложении и поставщикам сетевого программного обеспечения единый интерфейс прикладного программирования.

API WinInet

Win32 Internet (Winlnet) API обеспечивает автономным приложениям доступ к стандартным протоколам Интернета — Gopher, FTP и HTTP — путем абстрагирования протоколов в виде интерфейса высокого уровня, привычного создателям приложений Win32. Функции Winlnet API можно вызывать из программ практически на любом языке, включая Visual Basic. Чтобы работать с этим интерфейсом, не нужно превосходно разбираться в TCP/IP, Windows Sockets или HTTP. Более того, поскольку он абстрагирован от конкретной реализации, Вам не придется переписывать приложения по мере эволюции протоколов — достаточно лишь обновить библиотеку интерфейса Winlnet.



WINIPCFG


Эта утилита предназначена для проверки параметров конфигурации TCP/IP, включая IP-адрес, маску подсети и шлюз по умолчанию. Она поможет выяснить, прошла ли инициализация и не дублируются ли IP-адреса. > Запуск WINIPCFG

В окне Run (оно открывается одноименной командой меню Start) введите команду WINIPCFG.

Изучите появившуюся информацию о конфигурации сети.

Щелкните кнопку More Info для просмотра дополнительной информации.



Закрепление материала


Закрепление материала

Приведенные ниже вопросы помогут Вам лучше усвоить основные темы данной главы. Если Вы не сумеете ответить на вопрос, повторите материал соответствующего занятия. Правильные ответы приведены в разделе «Вопросы и ответы» в конце книги.

Опишите различия между локальными и региональными сетями. Какой выигрыш дает подключение корпоративных сетей к Интернету?

ответ

Какой протокол прикладного уровня используется для передачи файлов через Интернет?

ответ

Как протоколы прикладного уровня взаимодействуют с TCP/IP? Приходилось ли Вам создавать собственный протокол прикладного уровня?

ответ

Какой интерфейс следует применять при разработке сетевого приложения, чтобы обеспечить максимальный доступ к функциям TCP/IP?

ответ



Архитектура сетей


Занятие 2. Протокол TCP/IP

Занятие 3. Сетевые ограничения

Занятие 4. Разработка сетевых приложений

Закрепление материала


Занятие 1. Архитектура сетей
(Продолжительность занятия 5 минут)
В настоящее время разработчикам корпоративных приложений доступны несколько сетевых архитектур. Их подразделяют на локальные (Local Area Network, LAN) и глобальные (Wide Area Network, WAN) сети. В настоящее время большинство приложений для бизнеса должны поддерживать обе эти среды. Первое занятие посвящено современным сетевым архитектурам.
Изучив материал этого занятия, Вы сможете:
описать различия между локальными и глобальными сетями;
сопоставить глобальную сеть Интернет и закрытые интрасети.



Протокол TCP/IP


Занятие 2. Протокол TCP/IP

(Продолжительность занятия 25 минут)

Сетевые протоколы предназначены для соединения клиентских компьютеров с сервером. По сути, это язык для обмена данными между компьютерами; он необходим и в Интернете, и в интрасети. В основе Интернета лежит протокол управления передачей/межсетевой протокол (Transmission Control Protocol/Internet Protocol, TCP/IP). Его можно применять и в интрасети, хотя для LAN лучше подойдут специально разработанные протоколы, например NetBEUI. Это занятие посвящено протоколу TCP/IP, его настройке и устранению неисправностей. Кроме того, Вы познакомитесь с применением протокола FTP для передачи файлов через глобальную сеть.

Изучив материал этого занятия, Вы сможете:

описать передачу данных средствами TCP/IP;

выбрать сетевой протокол, подходящий для конкретной ситуации:

подключиться к серверу FTP;

вручную настроить TCP/IP на компьютере с Windows 95;

применять утилиты TCP/IP для поиска и устранения неисправностей.

Уровни TCP/IP

При описании сетей традиционно применяется многоуровневая эталонная модель взаимодействия открытых систем (Open Systems Interconnection Reference Model, OSI), позволяющая отделить друг от друга назначение и функции различных компонентов сетевой среды. TCP/IP — набор различных протоколов, работающих на нескольких уровнях модели OSI. Попросту говоря, это последовательность уровней, которые проходит пакет данных, следуя от одного компьютера к другому (рис. 2.1).

Рис. 2.1 Уровни протокола TCP/IP

Для интерпретации сообщений (или пакетов), передаваемых между уровнями, применяются соответствующие API или соглашения. Приложения, разработанные для Windows, не обмениваются сообщениями непосредственно с протоколами семейства TCP/IP — они обращаются к соответствующим функциям интерфейса Windows Sockets (см. рис. 2.1). API Windows Sockets управляет всеми уровнями ниже прикладного, включая передачу пакета через IP и сетевую карту на физическом уровне. Windows Sockets позволяет разрабатывать приложения для различных реализаций TCP/IP.

А теперь запустите видеоролик Chap02.exe с прилагаемого к книге компакт-диска — он познакомит Вас с передачей данных по многоуровневой структуре TCP/IP.

Примечание Дополнительную информацию о сетях, включая описание аппаратных характеристик. Вы найдете в учебном курсе «Networking Essentials» издательства Microsoft Press*.



Сетевые ограничения


Занятие 3. Сетевые ограничения

(Продолжительность занятия 10 минут)

Сеть связывает компоненты распределенных приложений. При разработке таких приложении следует принимать во внимание два основных ограничения сетевой связи: полосу пропускания и запаздывание. На этом занятии Вы узнаете, что это такое и как можно преодолеть накладываемые ими ограничения.

Изучив материал этого занятия, Вы сможете:

перечислить способы преодоления малой полосы пропускания;

объяснить, какие факторы вызывают запаздывание.

Полоса пропускания

Термином «полоса пропускания» обозначают скорость передачи данных с одного компьютера на другой. Объем данных, передаваемых в ответ на запрос клиента, непосредственно определяет время ответа. Например, глубина цвета и размер изображения на Web-странице определяют скорость загрузки и открытия этой страницы. При разработке сетевых приложений необходимо учитывать скорость, с которой Ваши клиенты смогут обмениваться с сервером. Для интрасетей она, как правило, значительно выше, чем для Интернета.



Разработка сетевых приложений


Занятие 4. Разработка сетевых приложений

(Продолжительность занятия 20 минут)

Разработчикам сетевых приложений доступны несколько интерфейсов — от интерфейса нижнего уровня Windows Sockets до специально разработанных элементов управления ActiveX (например, Web Browser). Это занятие посвящено интерфейсам для создания сетевых приложений, разработанным компанией Microsoft.

Изучив материал этого занятия, Вы сможете:

описать разработанные компанией Microsoft интерфейсы для создания сетевых приложений;

создать пример простой программы просмотра Web.



Запаздывание


Большие физические расстояния и увеличение числа элементов сети (маршрутизаторы, линии связи и т.п.) удлиняют время передачи даже самого маленького пакета данных. Эта задержка называется запаздыванием. В глобальной сети типа Интернета оно бывает весьма значительным. Для клиент-серверных сетевых приложений запаздывание иногда создает проблемы, которые нужно (и можно) предусмотреть на стадии разработки приложения. Например, иногда по этой причине истекает время ожидания клиентом ответа на запрос к базе данных. Если среда, в которой работает приложение, чувствительна к запаздыванию, необходимо увеличить времена ожидания или разрешить пользователю отменить (и повторить) запрос.