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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

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

Регистрация: Aug 2000
Адрес: Калининград
Сообщений: 236
Отправить сообщение для Denisator с помощью ICQ
По умолчанию Отчего иногда может не срабатывать loadVariables?

Есть видеоплеер на флэше AS2.0 и он отправляет на сервер таким вот образом статистику по просмотру видео:
Код AS1/AS2:
if (_root.stat_vid_0 != true) {//Отправляем в статистику 
		if (_root.toob.display.time>0) {
			loadVariables("http://***/stat.php?act=vid_0&id="+_root.vid_id, _root);
			_root.stat.text="otpravili 0 сек видео"
			_root.stat_vid_0 = true;
		}
	}
	if (_root.stat_vid_10 != true) {//Отправляем в статистику 
		if (_root.toob.display.time>10) {
			loadVariables("http://***/stat.php?act=vid_10&id="+_root.vid_id, _root);
			_root.stat.text="otpravili 10 сек видео"
			_root.stat_vid_10 = true;
		}
	}
Тоесть, когда пользователь посмотрел 0 секунд видео отправляется инфа на сервер где фиксируется в базе и когда посмотрел 10 секунд тоже идёт отправка данных на сервер.
Так вот, у некоторых видео просмотров 10 секунд больше чем просмотров 0 секунд, хотя по логике программы этого не может быть. Код я весь проверил он простой и ошибки там вроде как не может быть.

Остаётся два варианта либо loadVariables либо stat.php не всегда срабатывает.

Подскажите на сколько "железно" работает loadVariables? Может ли он иногода не отправлять данные?
__________________
Это подпись.

Старый 12.06.2014, 16:20
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
А почему вы думаете, что проблема в loadVariables (на самом деле функция эта устрела на 10 лет, вместо надо использовать LoadVars)? Почему бы вам не проверить, всегда ли выполняются условия ее вызова, например это самое oob.display.time?
__________________
Идите первым!

Старый 12.06.2014, 16:43
Denisator вне форума Посмотреть профиль Отправить личное сообщение для Denisator Найти все сообщения от Denisator
  № 3  
Ответить с цитированием
Denisator
 
Аватар для Denisator

Регистрация: Aug 2000
Адрес: Калининград
Сообщений: 236
Отправить сообщение для Denisator с помощью ICQ
Цитата:
Сообщение от mooncar Посмотреть сообщение
А почему вы думаете, что проблема в loadVariables (на самом деле функция эта устрела на 10 лет, вместо надо использовать LoadVars)?
loadVariables для моих целей мне показалась компактней и удобней. Если вы считаете что LoadVars надёжней то я переделаю на LoadVars.

Цитата:
Сообщение от mooncar Посмотреть сообщение
Почему бы вам не проверить, всегда ли выполняются условия ее вызова, например это самое oob.display.time?
Да вроде там негде багу вылезти, это просто счётчик секунд видео. К тому же по статистике выходит что иногда в одном и том-же просмотре видео условие toob.display.time>10 секунд он отрабатывается а toob.display.time>0 секунд нет, как это может быть?

Приведу наверное более полный код этого счётчика:
Код AS1/AS2:
onEnterFrame = function () {
	if (_root.stat_vid_0 != true) {//Отправляем в статистику 
		if (_root.toob.display.time>0) {
			loadVariables("http://***/stat.php?act=vid_0&id="+_root.vid_id, _root);
			_root.stat.text="otpravili 0 сек видео"
			_root.stat_vid_0 = true;
		}
	}
	if (_root.stat_vid_10 != true) {//Отправляем в статистику 
		if (_root.toob.display.time>10) {
			loadVariables("http://***/stat.php?act=vid_10&id="+_root.vid_id, _root);
			_root.stat.text="otpravili 10 сек видео"
			_root.stat_vid_10 = true;
		}
	}
};
stop();
Может onEnterFrame как то вилияет на loadVariables?
__________________
Это подпись.

Старый 12.06.2014, 17:42
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 4  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
FrameRate у вас сколько?...
"loadVariables("http:......" - закомментируйте и трэйс поставьте вместо этой строчки.
По трэйсам - все нормально?
И _root.toob.display.time тоже в трэйсе в самом начале onEnterFrame выводите......
Если там не будет от 0 и до 10 вывода, то....... бум думать далее.
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 12.06.2014, 18:16
Denisator вне форума Посмотреть профиль Отправить личное сообщение для Denisator Найти все сообщения от Denisator
  № 5  
Ответить с цитированием
Denisator
 
Аватар для Denisator

Регистрация: Aug 2000
Адрес: Калининград
Сообщений: 236
Отправить сообщение для Denisator с помощью ICQ
Цитата:
Сообщение от dark256 Посмотреть сообщение
FrameRate у вас сколько?...
"loadVariables("http:......" - закомментируйте и трэйс поставьте вместо этой строчки.
По трэйсам - все нормально?
И _root.toob.display.time тоже в трэйсе в самом начале onEnterFrame выводите......
Если там не будет от 0 и до 10 вывода, то....... бум думать далее.
Да у меня то и локально и на сервере всё отлично работает.
Должно работать так: пользователь начинает смотреть ролик, проигрыватель отправляет на сервак ID ролика, сервак записывает в базу в поле "VID_0" +1 промотор, далее если пользователь не закрыл окно браузера и досмотрел ролик до 10-й секунды то проигрыватель опять отправляет на сервак ID ролика и сервак записывает в другое поле "VID_10" +1 просмотр. Значит если ты просмотрел 10 секунд ролика то ОБЯЗАТЕЛЬНО промотрел 1 секунду ролика, тоесть VID_10 не может быть больше VID_0. Но в базе такое встречается у некоторых роликов.
__________________
Это подпись.

Старый 12.06.2014, 18:24
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 6  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Так вопрос тогда звучит так: "почему у некторых юзеров ЭТО работает криво"?

Ну тогда - да, однозначно, вам использовать loadVars с выводом сообщений об ошибках юзеру на экран, для отправки в тех суппорт.

Вариантов куча - вплоть до антивирусной защиты и блочки отправки через файрволлы.
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 12.06.2014, 18:33
Denisator вне форума Посмотреть профиль Отправить личное сообщение для Denisator Найти все сообщения от Denisator
  № 7  
Ответить с цитированием
Denisator
 
Аватар для Denisator

Регистрация: Aug 2000
Адрес: Калининград
Сообщений: 236
Отправить сообщение для Denisator с помощью ICQ
Цитата:
Сообщение от dark256 Посмотреть сообщение
Так вопрос тогда звучит так: "почему у некторых юзеров ЭТО работает криво"?
Именно!

Цитата:
Сообщение от dark256 Посмотреть сообщение
Ну тогда - да, однозначно, вам использовать loadVars с выводом сообщений об ошибках юзеру на экран, для отправки в тех суппорт.
Не, не вариант. Заказчик не даст грузить пользователя всплывающими ошибками
Хотя, наверное, можно сделать что-бы плеер отправлял сообщение об ошибке без участия пользователя каким-нибудь другим каналом, через аякс, к примеру, но что-то такое замороченное решение совсем не бюджетно выйдет :-(

Цитата:
Сообщение от dark256 Посмотреть сообщение
Вариантов куча - вплоть до антивирусной защиты и блочки отправки через файрволлы.
Такие варианты не подходят, так как у одного и того же пользователя в один и тот-же сеанс VID_0 не отправляется, а уже через 10 секунд VID_10 успешно отправляется. Антивирусы и фаерволы рубили бы оба запроса одинаково.
__________________
Это подпись.


Последний раз редактировалось Denisator; 12.06.2014 в 18:44.
Старый 15.06.2014, 11:20
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 8  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Тогда встраиваем в приложение такое вот

http://www.flasher.ru/forum/blog.php?b=310

Далее юзера просим сомтреть лог ошибок там.
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

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

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

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


 


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


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