Руководство по actionscript. часть 6, стр. 048

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

Стоит отметить, однако, что не существует официального способа проверить, было ли полностью получено некоторое логическое тело данных. Каждый бинарный сокетный протокол предоставляет свои собственные механизмы, позволяющие определить момент завершения текущей передачи данных. Например, сервер может сообщить своему клиенту, сколько данных будет передано до начала следующей передачи, или клиент может проверять загружаемую последовательность байтов на наличие маркеров начала и конца файла. В нашем примере клиент будет приступать к обработке загруженного отображаемого элемента сразу после закрытия сокетного соединения сервером. Закрытие сокетного соединения — это (очень простой) способ сообщить нашему клиенту о завершении отправки данных некоторого элемента.

Посмотрим, как все это будет выглядеть в коде. Наш простой клиент, написанный на ActionScript, состоит из одного класса DisplayAssetLoader. Чтобы получить и отобразить элемент, отправляемый сервером FileSender, класс DisplayAssetLoader должен выполнить такую последовательность действий.

1. Создать объект Socket.

2. Зарегистрировать объект DisplayAssetLoader для событий объекта Socket.

3. Использовать объект Socket для подключения к серверу.

4. Когда через сокет будут получены новые бинарные данные, поместить эти данные во временный буфер.

5. Когда сокет отсоединится, использовать метод экземпляра loadBytes ( ) класса Loader, для того чтобы загрузить бинарные данные из временного буфера в объект Loader.

6. Отобразить объект загруженного элемента на экране.

В листинге 28.13 представлен весь код целиком для класса DisplayAssetLoader. Ключевые возможности класса DisplayAssetLoader обсуждаются после листинга; незначительные детали описываются в виде комментариев к коду.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

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

Полезные ссылки
Случайные записи
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.136
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.122
  • 19.03.2011">Руководство по actionscript. часть 2, стр. 087
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 107
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 112
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.5
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.26
  • 17.03.2011">Руководство по actionscript. часть 2, стр. 156
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.116
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 134
  • 23.02.2011">Руководство по actionscript. часть 7, стр. 021
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 135
  • 02.03.2011">Руководство по actionscript. часть 5, стр. 107
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 102
  • 24.02.2011">Руководство по actionscript. часть 6, стр. 108
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...