loadVars @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 20 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
sump
новый человек
0
Сообщения: 15
Зарегистрирован: 28.07.04
Заголовок сообщения: loadVars
Сообщение Добавлено: 16 Март 2005, 11:41:53 
народ помогите! есть такая трабла:

скриптом грузиться данных что-то около 780килобайт, приблизительно в 60% процентах загрузки вылетает плеер или обрывается соединение что-то типа (заданный файл не найден, проверьте путь)…
данные: это скрипт ПХП опрашивающий базу по 1500 позициям, если грузить просто файл таких размеров, то никаких проблем...

загрузка вылетает приблизительно на 200 - 350 килобайтах загруженных

скрипт во флэше:
Код:
lv = new LoadVars ();
i = 0;
this.onEnterFrame = function () {
   lv.load ('http://www.7thsky.ru/works/list05/php/list_load.php?type=all&string=&');
   this.onEnterFrame = function () {
      i ++;
      var lo = this.lv.getBytesLoaded ();
      var to = this.lv.getBytesTotal ();
      trace ('i: ' + i + ': lo: ' + lo + ': to: ' + to);
      if (lv.loaded || (to * lo > 0 && lo == to)) {
         delete this.onEnterFrame;
         trace (this.lv ['connection']);
      }
   }
}

вот, скрипт ПХП:
http://www.7thsky.ru/works/list05/php/l … l&string=&



З.Ы. любителям посылать на F1 и RTFM - был, читал уже
еще просьба не советовать переустановить флэш, так как вылетает не только на моем компе, а что самое обидное на компах операторов клиента
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 16 Март 2005, 12:39:00 
у меня и по 900kb всё грузилось - было дело :laugh:
попробуй так
Код:
lv=new LoadVars()
lv.type='all'
lv.string='&'
lv.sendAndLoad('list_load.php')
lv.onLoad=function(){
trace('complete: '+lv)
}


И ещо, это глупо посылать данные в пхп чтобы он собрал файл для флеша. и так каждый раз. проще делать так: после изменений в базе создавать файл с переменными (например в админке кнопа - файл для флеша) и уже его грузить, не насилуя базу.

p.s.
писал тут поэтому мало ли.. какие синтаксические.… :gent:

_________________
можно на ТЫ.
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 16 Март 2005, 12:42:31 
кстати ошибка имхо из за php. у тебя на обработку стоит наверное 30 секунд, и он просто не успевает

_________________
можно на ТЫ.
Shaman® Муж.
новый человек
3
Сообщения: 276
Зарегистрирован: 23.07.04
Откуда: UA
Сообщение Добавлено: 16 Март 2005, 12:43:15 
Ты не правильно инициируешь загрузку. У меня попервах была такая же ошибка.
Гляди: ты в теле onEnterFrame вызываешь
lv.load ('http://www.7thsky.ru/works/list05/php/list_load.php?type=all&string=&');
И поэтому каждые FPS раз в секунду у тебя идет обращение к скрипту. Конечно плеер вылетит.

Вот верный код (одно this.onEnterFrame у тебя лишнее):
Код:
 lv.load ('http://www.7thsky.ru/works/list05/php/list_load.php?type=all&string=&');
this.onEnterFrame = function () {
        i ++;
        var lo = this.lv.getBytesLoaded ();
        var to = this.lv.getBytesTotal ();
   
        if (lo/to==1) {
            delete this.onEnterFrame;
           //Some action
        }
    }

_________________
Flash-технолог
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 16 Март 2005, 12:46:38 
почему неправильно?
глупо - да, но это работает, и никаких обращений кроме одного раза не будет
у него второй строчкой новый ентерфрейм задаётся.

_________________
можно на ТЫ.
sump
новый человек
0
Сообщения: 15
Зарегистрирован: 28.07.04
Сообщение Добавлено: 16 Март 2005, 12:46:58 

Цитата:
И ещо, это глупо посылать данные в пхп чтобы он собрал файл для флеша. и так каждый раз. проще делать так: после изменений в базе создавать файл с переменными (например в админке кнопа - файл для флеша) и уже его грузить, не насилуя базу.

p.s.
писал тут поэтому мало ли.. какие синтаксические.… :gent:


[/quote]

я же сказал тектстовый файл не проблема грузить хоть 1,5 мега, проблема грузить данные которые скрипт ПХП парсит с базы\

ну ты сказал:) "глуппо пысылать данные в ПХП" :) уморил
тем более у меня проблема именно в админке...
sump
новый человек
0
Сообщения: 15
Зарегистрирован: 28.07.04
Сообщение Добавлено: 16 Март 2005, 12:54:27 

Shaman® писал(а):
Ты не правильно инициируешь загрузку. У меня попервах была такая же ошибка.
Гляди: ты в теле onEnterFrame вызываешь
lv.load ('http://www.7thsky.ru/works/list05/php/list_load.php?type=all&string=&');
И поэтому каждые FPS раз в секунду у тебя идет обращение к скрипту. Конечно плеер вылетит.

Вот верный код (одно this.onEnterFrame у тебя лишнее):
Код:
 lv.load ('http://www.7thsky.ru/works/list05/php/list_load.php?type=all&string=&');
this.onEnterFrame = function () {
        i ++;
        var lo = this.lv.getBytesLoaded ();
        var to = this.lv.getBytesTotal ();
   
        if (lo/to==1) {
            delete this.onEnterFrame;
           //Some action
        }
    }




ой блин, ну что трудно посмотреть?
первый онЕнтер фрайм запускает загрузку, второй начинает байты считать (который определяется в первом), и вообще я знаю как иницилизируется объект loadVars, этот скрипт был написан просто посмотреть как и где загрузка обрывается (ссылка на рабочую тулзу http://www.7thsky.ru/works/list05)
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 16 Март 2005, 13:00:21 
sump, рад что ты веселишься, но уморить тебя цели нет.
зачем каждый раз парсить одни и теже данные? это не логично. проще раз создать файл с этими данными (тхт) и грузить его.
И только при изменениях в базе менять содержимое тхт файла.

Кстати читай предложения до конца, имхо твоя невнимательность и есть причина проблемы.

Цитата:
это глупо посылать данные в пхп чтобы он собрал файл для флеша. и так каждый раз.



P.s.
повторюсь, если ты уверен в своём неграмотном коде, то проверь настройки пхп.

_________________
можно на ТЫ.
Shaman® Муж.
новый человек
3
Сообщения: 276
Зарегистрирован: 23.07.04
Откуда: UA
Сообщение Добавлено: 16 Март 2005, 13:09:24 

sump писал(а):
ой блин, ну что трудно посмотреть?
первый онЕнтер фрайм запускает загрузку, второй начинает байты считать (который определяется в первом), и вообще я знаю как иницилизируется объект loadVars, этот скрипт был написан просто посмотреть как и где загрузка обрывается (ссылка на рабочую тулзу http://www.7thsky.ru/works/list05)



Посмотреть не трудно. Просто это кривая переинициализация функции.
А насчет LoadVars: судя по траблу - проблема в пхп

_________________
Flash-технолог
sump
новый человек
0
Сообщения: 15
Зарегистрирован: 28.07.04
Сообщение Добавлено: 16 Март 2005, 13:10:55 

bE(o0L писал(а):
sump, рад что ты веселишься, но уморить тебя цели нет.
зачем каждый раз парсить одни и теже данные? это не логично. проще раз создать файл с этими данными (тхт) и грузить его.
И только при изменениях в базе менять содержимое тхт файла.

Кстати читай предложения до конца, имхо твоя невнимательность и есть причина проблемы.

Цитата:
это глупо посылать данные в пхп чтобы он собрал файл для флеша. и так каждый раз.



P.s.
повторюсь, если ты уверен в своём неграмотном коде, то проверь настройки пхп.



потому что есть 18 таблиц, база 5 мег, работает 5 операторов ОДНОВРЕМЕННО, потом эта тулза есть админка для операторов, есть ПОСТОЯННЫЕ изменения в базу, в том то все и дело что это не ОДНИ и теже данные
если ты зашел по ссылке на тулзу, то заметил что я немного знаю акшнскрипт и как иницилизировать loadVars то же, просто бессит когда вместно ответа на вопрос (может я все таки не корректно объяснил проблему, если да то сорри) получаешь советы в которых тебе объясняют как работать с loadVars
такой код для вас нормальный?

Код:
lv = new LoadVars ();
lv.type = 'all';
lv.string = '';
lv.onLoad = function (a) {
if (a) {
trace (this ['connection']);
} else {
trace ('connection error');
} // end if
}
lv.sendAndLoad ('http://www.7thsky.ru/works/list05/php/list_load.php', lv, 'POST');

this.onEnterFrame = function () {
var lo = this.lv.getBytesLoaded ();
var to = this.lv.getBytesTotal ();
if (lo * to > 0 && lo >= to) {
delete this.onEnterFrame;
trace ('lo: ' + lo + ': to: ' + to);
trace ('ok');
} // end if
trace ('lo: ' + lo + ': to: ' + to);
}
sump
новый человек
0
Сообщения: 15
Зарегистрирован: 28.07.04
Сообщение Добавлено: 16 Март 2005, 13:16:44 

Цитата:
Посмотреть не трудно. Просто это кривая переинициализация функции.
А насчет LoadVars: судя по траблу - проблема в пхп



так ПХП нормально отдает, проблема в том что плеер вылетает... а ПХП я уже и время исполнения скрипта увеличил до полутраминут...



offtop: просто для самообразования, а в чем проблема что в теле функции переиницилизирую ее?
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 16 Март 2005, 13:51:13 
не кипятись :cool:

если пхп нормально отдаёт и ты это видишь (смотришь файл который парсится) то
вопервых, но врядли - может слабая тачка и не хватает памяти/ресурсов чтоб хранить стока всего

во вторых - если ты можешь загрузить такой же статичный файл. тобишь сохранить отпарсенный пхп и этим же методом (loadvars) загрузить его, то покажи headers которые осылаются и принимаются. в обоих случаях. это надо сделать для того, чтобы на 100 процентов убедится в невиновности сервера.

_________________
можно на ТЫ.
sump
новый человек
0
Сообщения: 15
Зарегистрирован: 28.07.04
Сообщение Добавлено: 16 Март 2005, 14:04:18 

bE(o0L писал(а):
не кипятись :cool:

если пхп нормально отдаёт и ты это видишь (смотришь файл который парсится) то
вопервых, но врядли - может слабая тачка и не хватает памяти/ресурсов чтоб хранить стока всего



пхп нормально отдает данные ссылка (780 килобайт):
http://www.7thsky.ru/works/list05/php/l … l&string=&

насчет слабости тачки: были сначала такие подозрения, но отключил прорисовку данный после получения такие же проблемы, написал свой парсер (данные грузил через onData и contentType = 'text/plain'), который парсит каждые 100 позиций в каждом фрейме, то кол-во фреймов сколько нужно, то же самое, потом посмотрел где обрывается загрузка...


Цитата:
во вторых - если ты можешь загрузить такой же статичный файл. тобишь сохранить отпарсенный пхп и этим же методом (loadvars) загрузить его


могу, грузиться на ура, в целях эксперемента грузил что около 2 мег, то же грузиться без проблем...
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 16 Март 2005, 14:32:08 
скорее всего это бред, но стоит задуматься над тем что:
пхп не успевает создать файл с данными, тоесть данные то он получил, и даже начал парсить, тока флеш шустро доходит до нелогичного конца файла и выдаёт ошибку.

ну а если размер отпарсенных данных меньше? например 100 кб
работает?

_________________
можно на ТЫ.
sump
новый человек
0
Сообщения: 15
Зарегистрирован: 28.07.04
Сообщение Добавлено: 16 Март 2005, 14:41:25 

bE(o0L писал(а):
скорее всего это бред, но стоит задуматься над тем что:
пхп не успевает создать файл с данными, тоесть данные то он получил, и даже начал парсить, тока флеш шустро доходит до нелогичного конца файла и выдаёт ошибку.

ну а если размер отпарсенных данных меньше? например 100 кб
работает?



работает, до 300 кило грузиться нормально, что еще замеченно что если сервер не нагружен, скрипт отрабатывается быстрее, то флэш не вылетает, но... :)

можно как нибудь увеличить время ожидание во флэше? в ПХП я увелечиваю время исполнение скрипта до 1,5 минут, так, что тут все такие проблема в получении данных...
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 16 Март 2005, 14:50:47 
я не знаю как можно увеличить
можно попробовать вот что
если событие
lv.onLoad=function(chk){
trace(chk)
}
выдаст false то заново инициализировать загрузку, и так до победного
гы..

или покажи свой пхп код, думаю всё это решаемо без трепанации флеша :cool:

_________________
можно на ТЫ.
sump
новый человек
0
Сообщения: 15
Зарегистрирован: 28.07.04
Сообщение Добавлено: 16 Март 2005, 14:55:55 
вот в пхп могут быть траблы, пхп плохо знаю
Код:
<?php
         set_time_limit (120);
   include "client.php";
   function parent_Data () {
      global $row, $i;
      
      echo 'p'.$i.'_id='.$row->tid.'&';
      echo 'p'.$i.'_parent_id='.$row->parent_id.'&';
      echo 'p'.$i.'_alpha='.$row->alpha.'&';
      echo 'p'.$i.'_result='.$row->result.'&';
      echo 'p'.$i.'_email='.$row->email.'&';
      echo 'p'.$i.'_phone='.$row->phone.'&';
      echo 'p'.$i.'_zip='.$row->zip.'&';
      echo 'p'.$i.'_state='.$row->state.'&';
      echo 'p'.$i.'_city='.$row->city.'&';
      echo 'p'.$i.'_address='.$row->address.'&';
      echo 'p'.$i.'_address2='.$row->address2.'&';
      echo 'p'.$i.'_last='.$row->last.'&';
      echo 'p'.$i.'_first='.$row->first.'&';
      echo 'p'.$i.'_uri='.$row->uri.'&';
      echo 'p'.$i.'_dvd_mailed='.$row->dvd_mailed.'&';
      echo 'p'.$i.'_time_added='.$row->time_added.'&';
      echo 'p'.$i.'_note1='.$row->note1.'&';
      echo 'p'.$i.'_note2='.$row->note2.'&';
      echo 'p'.$i.'_note3='.$row->note3.'&';
      echo 'p'.$i.'_note1_status='.$row->note1_status.'&';
      echo 'p'.$i.'_note2_status='.$row->note2_status.'&';
      echo 'p'.$i.'_note3_status='.$row->note3_status.'&';
      echo 'p'.$i.'_mailed_media='.$row->mailed_media.'&';
      echo 'p'.$i.'_contact='.$row->contact.'&';

      // guests - INVITES
      $subquery = 'SELECT count(*) AS total FROM `party_guests` WHERE `parent_id` = \''.$row->parent_id.'\' ';
      $subresult = mysql_query ($subquery) or die ('connection=5&');
                  $subrow = mysql_fetch_assoc ($subresult);
      echo 'p'.$i.'_guestsNum='.$subrow['total'].'&';

      // reviews
      $subquery = 'SELECT count(*) AS total FROM `reviews` WHERE `ParentID` = \''.$row->parent_id.'\' ';
      $subresult = mysql_query ($subquery) or die ('connection=6&');
      $subrow = mysql_fetch_assoc ($subresult);
      echo 'p'.$i.'_reviewsNum='.$subrow['total'].'&';

      // uploads
      $subquery = 'SELECT count(*) AS total FROM `party_media` WHERE `parent_id` = \''.$row->parent_id.'\' ';
      $subresult = mysql_query ($subquery) or die ('connection=7&');
      $subrow = mysql_fetch_assoc ($subresult);
      echo 'p'.$i.'_uploadsNum='.$subrow['total'].'&';
   } // end function
   
   
   // data
   $link = @mysql_connect ($my_host, $my_username, $my_password) or die ("connection=1&");
   mysql_select_db ($my_database) or die ("connection=2&");
   
   if ($_GET ['type'] == '') {
      $a = $_POST ['type'];   
      $b = $_POST ['string'];
   } else {
      $a = $_GET ['type'];   
      $b = $_GET ['string'];
   } // end if
   
   if ($a == 'letter' || $a == 'name') {
      $searchString = 'AND tb2.last LIKE \''.$b.'%\' ';
   } else {
      $searchString = '';
   } // end if

   $query = 'SELECT tb1.tid, tb1.parent_id, tb1.alpha, tb1.result, tb2.email, tb2.phone, tb2.zip, ';
   $query .= 'tb2.state, tb2.city, tb2.address, tb2.address2, tb2.last, tb2.first, tb2.uri,';
   $query .= 'tb2.dvd_mailed, tb2.time_added, tb1.note1, tb1.note2, tb1.note3, ';
   $query .= 'tb1.note1_status, tb1.note2_status, tb1.note3_status, tb1.mailed_media, tb1.contact ';
   $query .= 'FROM `screener_parent` AS tb2, `screener_list01` AS tb1 ';
   $query .= 'WHERE tb1.confirmed = \'2\' AND tb1.parent_id = tb2.id '.$searchString;
   // echo $query.'&';
   
   $result = mysql_query ($query) or die ('connection=3&');
   $n = mysql_num_rows ($result);
   
   $i = 0;
   for ($j = 0; $j < $n; $j++) {
      if (!mysql_data_seek ($result, $j)) {
         printf ('connection=4&');
         continue;
      } // end if
      if (!($row = mysql_fetch_object ($result))) {
         continue;
      } // end if
      if ($a != 'note') {
         parent_Data ();
         $i++;
      } else if ($a == 'note') {
         $t1 = stristr ($row->note1, $b);
         $t2 = stristr ($row->note2, $b);
         $t3 = stristr ($row->note3, $b);
         if (!($t1 === false && $t2 === false && $t3 === false)) {
            parent_Data ();
            $i++;
         }  // end if
      } // end if
   } // end for
   echo 'n='.$i.'&';
   echo 'connection=0&';
?>
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 16 Март 2005, 15:07:23 
вобщем нужно сделать так
всё что ты выводишь через echo нужно присваивать к переменной, например $flash_result.="";
и в конце скрипта. в самом конце! сделать одно лишь еcho $flash_result; затем закрыть скрипт ?> и будет тебе щастье. иначе именно та проблема о которой я говорил постом выше :gent:

_________________
можно на ТЫ.
sump
новый человек
0
Сообщения: 15
Зарегистрирован: 28.07.04
Сообщение Добавлено: 16 Март 2005, 15:26:07 

bE(o0L писал(а):
вобщем нужно сделать так
всё что ты выводишь через echo нужно присваивать к переменной, например $flash_result.="";
и в конце скрипта. в самом конце! сделать одно лишь еcho $flash_result; затем закрыть скрипт ?> и будет тебе щастье. иначе именно та проблема о которой я говорил постом выше :gent:



да будет тебе счастье о bE(o0L :) пока вроде не вылетает :) санкс будем учить ПХП (матчасть). не мог ты мне по Аське [18706810] подробнее объяснить чем отличаются варианты

санкс за терпеливость :)
sump
новый человек
0
Сообщения: 15
Зарегистрирован: 28.07.04
Сообщение Добавлено: 21 Март 2005, 00:39:31 
Народ давайте поставим все точки над этим нехорошим loadVars, или кто нить может в привате объяснить в чем я ошибаюсь [UIN 18706810]

есть такое

http://www.7thsky.ru/works/list05/test1.swf
который грузит данные по этой ссылке
http://www.7thsky.ru/works/list05/php/l … l&string=&
данный 707килобайт

http://www.7thsky.ru/works/list05/test2.swf
который грузит данные по этой ссылке
http://www.7thsky.ru/works/list05/php/l … &string=p&
данных 39килобайт

у меня в опере и ИЕ все нормально (ИЕ 6, опера 7,54), в фаерфоксе
(Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0) загрузка обрывается на 7-8 килобайтах

листинг АС, и ПХП файла могу скинуть...

Вот заранее большое спасибо ответившим...
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 20 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100