![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2007
Сообщений: 232
|
Помогите выбрать подход.
Есть ролик - на нём 100 мувиклипов. Каждый клип-это иконка лампочки. Внутри каждого "лампочки" 2 кадра (состояние "включено" и состояние "выключено"). Отдельно есть база данных MySQL, в таблице которой 100 строк. Каждая строка таблицы: - id - лампочки; - state - состояние (0 или 1); Ну и теперь самое сложное. Нужно сделать систему визуализации, которая будет опрашивать базу данных каждую секунду и отображать во флеш-ролике реальные состояния лампочек. К сожалению не могу придумать рационального решения данной задачи. То, что приходит на ум: Вариант 1: 1) Каждую секунду сохранять всю информацию в массиве. 2) Сделать чтобы каждая лампочка "слушала" приход данных. 3) Когда данные пришли - каждая лампочка сравнивает новые и старые данных из массива и меняет состояние. Вариант 2: 1) Создать в каждой лампочке 2 функции: lampa.setOn(), lampa.setOff(). 2) Каждую секунду сохранять полученные данные в массив. 3) В цикле сравнивать текущее значение состояния лампочки. Если изменилось - вызвать функцию setOn() или setOn(). Вопрос. Какое решение более правильное. Или они оба тупые? |
|
|||||
|
ветеран форума
|
1)Каждую секунду - проблематично, у многих большие пинги, будет отставать
2)Элементарно написать класс лампочки, где состояние - свойство с геттером/сеттером, и принимает занчение 0 или 1 3) слать чтото вроде <state="100011110000100101...." /> - чтобы меньше весило и сразу можно было присвоить значение без лишних усилий Узкое место - общение с базой, а способ визуализации не особо важен
__________________
4am is time to rock |
|
|||||
|
Регистрация: May 2007
Сообщений: 232
|
Спасибо.
Приложение для локальной сети. А как бы Вы поступили в такой ситуации? Может стоит задуматься об использовании сокетов, чтобы только в случае обновления базы данных происходила отправка информации? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Если в локалке, то ставьте сокет + постоянный коннект с базой.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 15:45. |
|
|
« Предыдущая тема | Следующая тема » |
|
|