Использование одноранговой сети Flash для обмена файлами. Как отобразить индикатор выполнения для загружающего клиента?

#flash #p2p #netstream #adobe-cirrus

#flash #p2p #netstream #adobe-cirrus

Вопрос:

Я пытаюсь реализовать программу actionscript, описанную по этому адресу. http://cookbooks.adobe.com/post_Create_a_P2P_file_sharing_application-16539.html . Это позволяет двум флэш-клиентам подключаться к сервису cirrus и обмениваться файлом с помощью одноранговых средств flash.

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

Есть ли способ отобразить индикатор выполнения загруженных данных при использовании объекта netstream?

Альтернативой было бы разбить данные на небольшие пакеты и отправить их по отдельности; затем увеличивать индикатор выполнения по мере их получения клиентом. К сожалению, это создает много накладных расходов для простой задачи отображения индикатора выполнения.

Ответ №1:

если вам все еще это нужно, ознакомьтесь с функцией репликации объектов проекта Cocoon P2P, которая предоставляет вам все, что вам нужно, включая события выполнения:

http://code.google.com/p/cocoon-p2p/

http://code.google.com/p/cocoon-p2p/wiki/ObjectReplication

Комментарии:

1. Вы уверены, что это уместно? Там написано «Библиотека P2P для ActionScript / Flex / AIR, ориентированная на локальную IP-рассылку»… «легко настройте обнаружение устройств и обмен данными с устройствами в локальной сети». Не в Интернете.

Ответ №2:

Вы правы, разбиение данных на фрагменты — это способ создать индикатор выполнения.