![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2011
Сообщений: 10
|
Здравствуйте.
Имеется групповой р2р чат, для которого имеется р2р облако (и объект NetGroup). Нужно в этом чате сделать возможность для каждого участника показать другим картинку (аватар), и сменить ее в любой момент этого чата - т.е. например юзер ткнул "сменить аватар" - выбрал новую картинку - эта картинка отправилась flash-клиентам остальных участников чата и отобразилась у них. Пробовали взять стандартное решение отсюда: http://www.flashrealtime.com/file-sh...ion-flash-p2p/ но по результатам тестов получается нехилая задержка от этой репликации (иногда до 5 с) - при попытке send/receive объекта с клиента код этой репликации каждый раз обращается к Stratus, якобы для маршрутизации - хотя маршруты до участников чата известны заранее (и заранее инициализированы в NetGroup, контроль онлайн-участников также реализован отдельно, проверять каждый раз при репликации маршрутизацию до участников - не нужно). Это больше похоже на то, что репликация каждый раз просит разрешения у стратуса Нужно - сделать репликацию картинки без участия стратуса, используя только заранее инициализрованный NetGroup , с минимальной задержкой загрузки картинки. 1. Подойдет ли для этого например такой способ - берем чат отсюда: http://www.flashrealtime.com/simple-...etgroup-rtmfp/ , сообщения в нем передаются вроде бы без запроса к страусу каждый раз, вместо сообщений передаем картинку в упакованном виде (base64 etc) и затем у каждого клиента отображаем распакованную из мессаги полученную картинку. Или даже можно не упаковывать в base64? 2. Если кто-то сталкивался с похожей задачей (обмен объектами весом до 1 мб внутри р2р облака, без использования внешнего сервера) - подскажите плз, какие еще есть варианты решения. |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 36
|
А чем вы смотрите что флешка каждый раз к стратусу обращается?
Попробуйте поиграться с параметрами: ipMulticastMemberUpdatesEnabled, objectReplicationEnabled, peerToPeerDisabled, routingEnabled, serverChannelEnabled - в классе GroupSpecifier. Вот вроде пример чата: http://www.flashrealtime.com/simple-...etgroup-rtmfp/ В NetStream можно отправлять файлы без всяких base64. Я из FileReference отправлял. |
|
|||||
|
Регистрация: May 2011
Сообщений: 10
|
Сравнивая работу вышеуказанных готовых скриптов чата и репликации, получаем такие результаты:
чат - передача сообщения всем участвующим в нем происходит в рамках 1 сек, даже большого сообщения весом до 0.5 Мб репликация - загрузка картинки весом 0.5 Мб может занимать до 5-7 сек, а в следующих попытках 1-3 сек, при этом уже есть инициализированный NetGroup, ничего переинициализровать по части р2р облака не нужно. Больше всего такое поведение репликации похоже на то, что она каждый раз запрашивает у страуса инфу о пирах в группе. Можно еще посмотреть флешку сниффером при использовании этой репликации - пока руки не дошли. Такое поведение очень странно для тулзы, которая по идее не должна вообще заботиться о сети, принимающих пирах итд (уже есть NetGroup) - а должна просто посылать копию объекта через NetGroup, вместо этого имеем задержки до 5-7 сек - кому нужна "репликация" с такой скоростью не совсем понятно ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:26. |
|
|
« Предыдущая тема | Следующая тема » |
|
|