Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Вопрос к профи: как лучше организовать многократный опрос сервера? (http://www.flasher.ru/forum/showthread.php?t=79845)

vecalion 17.05.2006 17:33

Цитата:

Сообщение от Madasan
А вообще неплохо использовать Flash Remoting + php, это продуктивнее, потому из флэша напрямую будешь вызывать php функции и получать результирующий объект, который не надо парсить, как XML. Соответственно будет работать быстрее чем связка Flash<->XML<->php, где мы используем XML как промежуточное звено.

Flash Remoting тоже использует промежуточное звено, однако оно скрыто от нас. Поэтому теоретически скорости сопоставимы. На практике же, всё зависит от Flash<-этого звена->XML<-и этого->php. Хотя обогнать, вылизанные библиотеки вряд ли удасться :)

Madasan 17.05.2006 18:08

Цитата:

Сообщение от vecalion
Flash Remoting тоже использует промежуточное звено, однако оно скрыто от нас. Поэтому теоретически скорости сопоставимы. На практике же, всё зависит от Flash<-этого звена->XML<-и этого->php. Хотя обогнать, вылизанные библиотеки вряд ли удасться :)

Не похоже на то что сопоставимы, парсинг XML это не серилизация amfphp, вещи разные, если еще учесть, что последнее, то что скрыто от нас проделывается на сервере, и не напрягает флэш. А промежуточные звенья всегда можно найти, флэш плеер например использует возможности браузера для формирования запросов, и это тоже скрыто от нас... Сколько же всего скрыто от наших глаз? Да собственно от любопытного глаза ничего не скроешь...

: hr : 17.05.2006 18:31

по теме больше мыслей нет? :)

Madasan 17.05.2006 19:07

Цитата:

Сообщение от : hr :
вдруг данные от предыдущего вызова "задержаться" и придут уже во вновь созданный объект? или такого быть не может?

Так проверить можно, я такими безобразиями не занимался, честно не знаю куда придут данные, если принимающий объект удалить.:eek:

Бармалей 17.05.2006 19:11

Сделай метод-оболочку для метода send или sendAndLoad, в котором проверяй переменную, показывающую статус объекта XML (загружаю или свободен) и если экземпляр XML в настоящее время загружает, прерывай работу метода:
Код:

myLoader:XML = new XML();
myLoader.onLoad = function(){
        usage = false;
        // здесь действия по обработке
}
myLoader.mySend = function(){
        if(usage == true){
                return;
        }
        usage = true
        send();
}


Бармалей 17.05.2006 19:16

Блин, вопрос-то изменился. Если убивается объект XML, то соединение закрывается. По крайней мене здравый смысл подсказывает, что должно работать именно так. По идее, оператор delete, примененный к объекту XML должен вызывать что-то типа внутреннего метода die(), который обязан закрыть коннект и прервать получение данных.

Madasan 17.05.2006 19:36

Цитата:

Код:

myLoader:XML = new XML();
myLoader.onLoad = function(){
usage = false;
// здесь действия по обработке
}
myLoader.mySend = function(){
if(usage == true){
return;
}
usage = true
send();
}


Это и есть блокировка обновления, у тебя есть флаг usage. Когда загрузка началась он true, когда закончилась false, и пока оно true новый запрос не посылается. Только я бы задавал false после обработки полученного результата. ТАк, на всякий случай. :)

: hr : 17.05.2006 20:17

это-то все понятно... а если в процессе передачи произошла ошибка и onLoad не выполнилось? нет, мне так просто не покатит :) щас буду пробовать...

: hr : 18.05.2006 01:17

хм, а проблема похоже в том, что обработчик onLoad delete'ом не убивается!!! После завершения загрузки одной из порций данных он вызывается несмотря ни на что! Что-то не понятное....
http://www.flasher.ru/forum/showthread.php?t=79881

Antares 18.05.2006 01:57

Цитата:

Сообщение от Бармалей
Блин, вопрос-то изменился. Если убивается объект XML, то соединение закрывается. По крайней мене здравый смысл подсказывает, что должно работать именно так. По идее, оператор delete, примененный к объекту XML должен вызывать что-то типа внутреннего метода die(), который обязан закрыть коннект и прервать получение данных.

До следующей серии очистки памяти gc не тронет его в любом случае.

Загружаем несуществующий документ в данный -- и все. Со звуком такая штука отрабатывает. MovieClipLoader останавливается удалением контейнера...


Часовой пояс GMT +4, время: 11:33.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.