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



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

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

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

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

  • перечислить способы преодоления малой полосы пропускания;
  • объяснить, какие факторы вызывают запаздывание.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Резюме

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

  • при загрузке Web-страницы сначала выводят текст и только потом изображения;
  • используют альтернативный текст для описания графики;
  • применяют отдельные небольшие файлы изображений для ссылок на другие страницы вместо одной большой картинки;
  • используют чересстрочные GIF-изображения.