Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Отображение во флеш-ролике значений переменных из БД в режиме онлайн. Поход? (http://www.flasher.ru/forum/showthread.php?t=105516)

Роман Вадимович 17.12.2007 19:51

Отображение во флеш-ролике значений переменных из БД в режиме онлайн. Поход?
 
Помогите выбрать подход.
Есть ролик - на нём 100 мувиклипов.
Каждый клип-это иконка лампочки. Внутри каждого "лампочки" 2 кадра (состояние "включено" и состояние "выключено").
Отдельно есть база данных MySQL, в таблице которой 100 строк.
Каждая строка таблицы:
- id - лампочки;
- state - состояние (0 или 1);

Ну и теперь самое сложное. Нужно сделать систему визуализации, которая будет опрашивать базу данных каждую секунду и отображать во флеш-ролике реальные состояния лампочек.

К сожалению не могу придумать рационального решения данной задачи.
То, что приходит на ум:
Вариант 1:
1) Каждую секунду сохранять всю информацию в массиве.
2) Сделать чтобы каждая лампочка "слушала" приход данных.
3) Когда данные пришли - каждая лампочка сравнивает новые и старые данных из массива и меняет состояние.

Вариант 2:
1) Создать в каждой лампочке 2 функции: lampa.setOn(), lampa.setOff().
2) Каждую секунду сохранять полученные данные в массив.
3) В цикле сравнивать текущее значение состояния лампочки. Если изменилось - вызвать функцию setOn() или setOn().

Вопрос. Какое решение более правильное. Или они оба тупые?

iNils 17.12.2007 19:58

Второй вариант в данной ситуации подходит лучше, но опрашивать базу каждую секунду, это жестоко.

DarkLight 17.12.2007 20:02

1)Каждую секунду - проблематично, у многих большие пинги, будет отставать
2)Элементарно написать класс лампочки, где состояние - свойство с геттером/сеттером, и принимает занчение 0 или 1
3) слать чтото вроде <state="100011110000100101...." /> - чтобы меньше весило и сразу можно было присвоить значение без лишних усилий

Узкое место - общение с базой, а способ визуализации не особо важен

Роман Вадимович 17.12.2007 20:05

Спасибо.
Приложение для локальной сети.
А как бы Вы поступили в такой ситуации? Может стоит задуматься об использовании сокетов, чтобы только в случае обновления базы данных происходила отправка информации?

etc 18.12.2007 14:31

Если в локалке, то ставьте сокет + постоянный коннект с базой.


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

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