![]() |
|
||||||||||
|
|||||
|
Banned
[+1.4 05.06.09]
[+1.3 13.08.09] [+1.3 05.06.09] Регистрация: Nov 2008
Сообщений: 22
|
здраствуйте, меня интересует динамичная (тоесть быстрая) передача даных по интернету,
пробовал через тхт (флэшка(на локале) передает параметры в php(на сервере) а он записывает их в тхт, и другой флэшкой брал данные из этого тхт )- ооооочень медленно посоветовали MySQL , но я нарвался на эту статтю http://www.softboard.ru/index.php?showtopic=58928 и понял что это еще медленее в этой статте, в третьем варианте использовали php файл для хранения данных? как это возможно? пробовал закидать флэшку на сервер, и обращаться к php - не получаеться может изза того что используеться html-AC_RunActiveContent-swf помогите а? может советом, мыслями на эту тему? если я что не так написал- это я русский не знаю ![]() |
|
|||||
|
Модрон-ветеринар
|
Заканчивая работу над CMS-кой к флеш сайту, которая сделана также на флеше + PHP + MySQL, выражу свое мнение. Голые цифры данной статьи а скорее, просто размышлений, наблюдений автора топика) не имеют, на мой взгляд, серьезного отношения к преимуществам и удобством работы с MySQL. Почитайте, что пишет его оппонент по поводу того же быстродействия и масштабируемости функционала запросов. Добавлю от себя. Одно дело - писать в текстовый файл кучу строк, разделенных спецсимоволами, но потом придется строить сложную структуру парсеров для выборки и добавления/замены значений столбцов.
Также вижу трудности в совместной работе с подобной базой на основе текстовых файлов, недостаточно прозрачное назначение прав доступа в иерархии текстовых файлов и т.п. Технология БД же берет всю эту работу на себя. Язык SQL запросов достаточно прост, логичен и имеет хорошую связь со специальными функциями PHP. Работа пользователя или пользовательского скрипта с БД на его основе - давно зарекомендовавшая себя технология. Что касается ваших трудностей. Я, например публиковал свою CMS-флешку с использованием AC_FL_RunContent, <object>, и все работает прекрасно. Обращайтесь к серверным скриптам методом load класса LoadVars или, если нужно получить от скрипта результат работы (либо данные в виде пар имя=значение, или просто сообщения об успешности выполнения скрипта), методом sendAndLoad. Пример реализации. Вот так я, например, обновляю данные конкретной записи в одной из SQL-таблиц: //Базовая функция обновления записи в таблице //В качестве аргументов функции обновления ей из мувика с полями //ввода и вывода передаются заполненные там же массивы с именами полей, старыми значениями полей, ///новыми значениями и идентификатор товара по базе UPD5full = function(FildsName, FildsOldValue, FildsNewValue, id) { UpdBef = 0; //триггер обновления хотя бы одного поля UPD5SendVars = new LoadVars(); //контейнер для ОТПРАВЛЯЕМЫХ данных //начинаем формировать запрос UPD5SendVars.id = id; //говорим скрипту, какой id товара //формируем запрос, забивая только изменившиеся значение в контейнер: for (f=1; f <= 22; f++) { //складываем запрос по полям и их значениям //проверяем, есть ли изменения в f-м поле и при этом - не пустая строка if(FildsNewValue[f] != FildsOldValue[f] && FildsNewValue[f] != "") { UPD5SendVars[FildsName[f]] = FildsNewValue[f]; UpdBef = 1; } // а теперь проверяем: есть ли изменения в f-м поле и теперь пустая строка // (стерли значение) if (FildsNewValue[f] != FildsOldValue[f] && FildsNewValue[f] == "") { UPD5SendVars[FildsName[f]] = "#empty#"; //здесь у меня по слову empty sql очистит запись в указанном поле UpdBef = 1; } } //если что-то менялось в полях, то будем проводить запрос if (UpdBef == 1) { UPD5Vars = new LoadVars(); //контейнер для ПОЛУЧАЕМЫХ данных UPD5Vars.onLoad = function(success:Boolean) { //вызов функции, отвечающей за то, какие действия совершать в случае //успешной связи со скриптом на сервере ONLOAD_5level(success,'UPD5Vars',id); }; //НЕПОСРЕДСТВЕННО ЗАПРОС НА ОБНОВЛЕНИЕ ТОВАРОВ ПО ИДЕНТИФ-РУ UPD5SendVars.sendAndLoad('http://www.домен.ru/админка/upd5full.php', UPD5Vars, "POST"); } //if else { //если все по-старому осталось, и нет изменений в значениях полей, то adv(1); //показываем сообщение "все по-старому" } }; //UPD5full //Функция - что делать в з-ти от тго, что меняли после запроса на обновление записи //GoodLoad - (приходит переменная success), булево значение, true - загрузка удалась //Act - из результатов выполнения скрипта приходит объект, получаемый после загрузки URL-а, который содержит отдаваемые скриптом переменные в строке //id - (приходит переменная id) - идент-р товара в таблице SQL function ONLOAD_5level(loadstatus, Act, id) { //проверка связи, если UPD5Vars.onLoad возвратила true, //то и loadstatus будет true if (loadstatus) { if (!_root[Act].sqlerror) { //проверка выполнения SQL-запроса switch (Act) { //что делаем с результатом в з-ти от Act case 'UPD5Vars': //экспресс-обновление в списке товаров CAT5Updaeted(id); break; case 'UPD5typesVars': //обновление характеристик товаров CAT5TypesUpdated(id); break; } //switch } else { //ошибка SQL errorTF.text = _root[Act].sqlerror; } } else { //ошибка: нет связи errorTF.text = errs['Нет связи с сервером или отсутствует обработчик']; } };
Эту строку получает флеш и эти переменные мы можем забрать в данном случае из UPD5Vars (из контейнера для получаемых данных) Замечания: 1. Нужно учитывать, что если делаем запрос с помощью load, а не sendAndLoad, то метод GET нам недоступен, и нужно формировать строку пар переменных-значений обычным для GET способом: CAT5UpdatedVars.load('http://www.домен.ru/админка/cat5expupdated.php?id='+id+'&r='+Math.random()); 2. И еще, чтобы при проверке CAT5UpdatedVars.onLoad = function(success:Boolean) { //действия в случае удачной связи со скриптом } 3. Конечно, нужно помнить о безопасности - авторизация при запросе к серверному скрипту, безопасное их хранение на самом сервере, права доступа к БД на SQL. В общем, вот так как-то. Естественно, мой пример далек до совершенства. Наверняка можно как-то выжать по-полной объектную модель, но в ООП я не силен. Общие принципы я постарался изложить и все это работает. Флеш тут - только интерфейс пользователя и формирователь команд для PHP. Может быть ну ее, админку на AS и с флешем? Хотя достоинства есть и тут, та же анимация и расширенная графика, представление данных - немаловажный фактор при работе GUI. У меня, анпример, анимируются списки после добавления новой записи, еще есть разная анимация - процесс общения с сервером иллюстрируется анимацией, ну и по мелочи. Будут вопросы, пишите. И, кстати, русский тоже сильно помогает, не пренебрегайте им. ![]() Последний раз редактировалось mooncar; 03.06.2009 в 09:35. |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:39. |
|
|
« Предыдущая тема | Следующая тема » |
|
|