![]() |
Отображение во флеш-ролике значений переменных из БД в режиме онлайн. Поход?
Помогите выбрать подход.
Есть ролик - на нём 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...." /> - чтобы меньше весило и сразу можно было присвоить значение без лишних усилий Узкое место - общение с базой, а способ визуализации не особо важен |
Спасибо.
Приложение для локальной сети. А как бы Вы поступили в такой ситуации? Может стоит задуматься об использовании сокетов, чтобы только в случае обновления базы данных происходила отправка информации? |
Если в локалке, то ставьте сокет + постоянный коннект с базой.
|
| Часовой пояс GMT +4, время: 14:15. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.