Вход


Главная страница >> Учебный процесс >> Конспекты >> Delphi. Программирование для Internet >> Формирование потоков данных.

[Назад]    [Содержание ]    [Вперед]

  


Формирование потоков данных.


Формирование потоков данных

Большинство данных, которые вы будете передавать клиентам с помощью HTTP-запросов, окажутся, скорее всего, HTML-страницами. Но не исключено, что настанет время, когда вам понадобится в ответ на запрос пользователя передать и другие типы информации. Это могут быть ? в зависимости от выбора пользователя ? различные графические изображения или звуковые файлы. Данные, посылаемые пользователю, могут иметь специальный формат и поэтому должны быть обработаны специальным образом броузером клиента. Например, Netscape предоставляет надстраиваемую архитектуру, которая позволяет разработчикам записывать расширения в Navigator Browser для обработки данных любого типа. RealAudio, Shockwave и другие типы потоковой организации данных служат примерами надстроек Netscape, способных расширить возможности броузера клиента.

Какой бы тип данных вы ни пожелали передать, Delphi подставит вам свое могучее плечо и ваш поток данных легко найдет своего клиента. С помощью метода TWebResponse.SendStream() и свойства TWebResponse.ContentStream вы сможете послать клиенту данные любого типа, загрузив их в потоковый класс Delphi. При этом придется обязательно сообщить броузеру клиента информацию о типе посылаемых данных, что легко достигается с помощью свойства TWebResponse.ContentType. Установив это строковое значение равным соответствующему MIME-типу, вы позволите броузеру обработать приходящие данные надлежащим образом. Например, если вы хотите передать Windows-файл с расширением .WAV, придется установить свойство ContentType равным значению 'audio/wav'.

На заметку MIME ? это сокращение от названия стандарта Multipurpose Internet Mail Extensions (многоцелевое расширение почты Internet). Расширения MIME были разработаны для того, чтобы позволить клиентам и серверам передавать по электронной почте данные, которые по сложности отличаются от стандартной текстовой информации. Броузеры и HTTP-протокол адаптировали расширения MIME, благодаря чему вы можете передавать с Web-сервера на Web-броузер данные практически любого вида. Ваш Web-броузер содержит довольно большой список этих типов MIME и каждое приложение или надстройку связывает с определенным типом MIME. При получении информации о конкретном типе броузер ищет приложение, которое должно использоваться для обработки данных этого типа, и передает ему эти данные.

С помощью потоков можно передавать данные любого типа практически с любого источника на ваш Web-сервер. Можно передавать данные из файлов, которые размещаются на вашем сервере или в любой точке вашей сети, а также из ресурсов Windows, встроенных в вашу ISAPI.DLL или другие DLL, доступные для вашей ISAPI DLL. Вы можете даже создавать данные "на ходу" и тут же оправлять их клиенту. Если броузер клиента "знает", что делать с принимаемыми данными, то, по сути, вы не ограничены ни в типах передаваемых данных, ни в способах передачи.

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




[Назад]    [Содержание ]    [Вперед]

  


  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017