Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.12.2007, 19:51
Роман Вадимович вне форума Посмотреть профиль Отправить личное сообщение для Роман Вадимович Найти все сообщения от Роман Вадимович
  № 1  
Ответить с цитированием
Роман Вадимович

Регистрация: 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().

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

Старый 17.12.2007, 19:58
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Второй вариант в данной ситуации подходит лучше, но опрашивать базу каждую секунду, это жестоко.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 17.12.2007, 20:02
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 3  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
1)Каждую секунду - проблематично, у многих большие пинги, будет отставать
2)Элементарно написать класс лампочки, где состояние - свойство с геттером/сеттером, и принимает занчение 0 или 1
3) слать чтото вроде <state="100011110000100101...." /> - чтобы меньше весило и сразу можно было присвоить значение без лишних усилий

Узкое место - общение с базой, а способ визуализации не особо важен
__________________
4am is time to rock

Старый 17.12.2007, 20:05
Роман Вадимович вне форума Посмотреть профиль Отправить личное сообщение для Роман Вадимович Найти все сообщения от Роман Вадимович
  № 4  
Ответить с цитированием
Роман Вадимович

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

Старый 18.12.2007, 14:31
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Если в локалке, то ставьте сокет + постоянный коннект с базой.

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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