Показано с 1 по 15 из 15

Тема: Баг(ошибка в коде), не работает таймер

  1. #1
    Новичок Аватар для Slow_GiiM
    Регистрация
    21.02.2013
    Сообщений
    17

    Баг(ошибка в коде), не работает таймер

    Не работает тамер до начала стрима (не только моего а вообще). ЕКБ +5, кинг кобра сказал что это "мои кривые руки" время точное идёт синхрон с интернетом, кинг кобра утерждает что это я виноват. Он сказал потыкать кнопку на этом сайте http://www.w3schools.com/jsref/tryit...yjsref_gettime 1407502270836 получилось вот такое число, он сказал что должно получится примерно такое 1407498688 без последних нескольких цифр. я вообще ничего не понял из этих сайтов, что делать
    Ку ку, кто хочет сгущёнки ? У меня две банки если что

  2. #2
    Освоившийся
    Регистрация
    08.07.2014
    Сообщений
    120
    У тебя всё верно. Таймер должен работать. Попробуй другой браузер (FireFox, Chrome), обнови браузер до последней версии. Должно помочь.

  3. #3
    Активный участник
    Регистрация
    20.05.2011
    Сообщений
    1,056
    Цитата Сообщение от inpost Посмотреть сообщение
    У тебя всё верно. Таймер должен работать. Попробуй другой браузер (FireFox, Chrome), обнови браузер до последней версии. Должно помочь.
    сфигаль верно?
    текущий юникс таймстамп - 1407500225
    его 30 минут назад - 1407502270
    куда пропали 30 минут?)
    получается его время на компе отличается от времени выбранного часового пояса на час, поэтому date.getTime() не может вернуть верный таймстамп

  4. #4
    Активный участник
    Регистрация
    17.05.2010
    Сообщений
    916
    Время в ЕКБ должно быть UTC+6, у тебя UTC+5 (если фразой ЕКБ +5 ты хотел именно это сказать), видимо из-за того, что винда не обновлена. Выстави часовой пояс UTC+6 и выстави своё время, не привязывайся к географической локации.
    Последний раз редактировалось A_K; 08.08.2014 в 15:20.

    Содержание комментария может не совпадать с позицией автора.

  5. #5
    Освоившийся
    Регистрация
    08.07.2014
    Сообщений
    120
    Цитата Сообщение от KingCobra Посмотреть сообщение
    сфигаль верно?
    текущий юникс таймстамп - 1407500225
    его 30 минут назад - 1407502270
    куда пропали 30 минут?)
    получается его время на компе отличается от времени выбранного часового пояса на час, поэтому date.getTime() не может вернуть верный таймстамп
    Надо уметь сверять часовые пояса Самая большая ошибка - перекидывать на клиента. У меня сделано так: серверное время трансляции - серверное время сейчас = в секундах до старта. Дальше имея 20 минут 10 секунд - запускаешь JS, который именно это время считывает. Вот и всё.
    Откаты времени - частый трюк обхода лицензии. Даже некоторые игры с доступом на 15 минут бесплатно работают сутки, если время компа откатить. Так что находясь в среде геймером не надо надеяться, что у них верный часовой пояс выставлен

  6. #6
    Активный участник Аватар для Zak.
    Регистрация
    17.05.2010
    Адрес
    Москва
    Сообщений
    842
    Переехал из Москвы в Порт-Луи и сделал синхронизацию с интернетом, таймеры появились. Но как-то это всё неправильно.

  7. #7
    Активный участник
    Регистрация
    20.05.2011
    Сообщений
    1,056
    Цитата Сообщение от inpost Посмотреть сообщение
    Надо уметь сверять часовые пояса Самая большая ошибка - перекидывать на клиента. У меня сделано так: серверное время трансляции - серверное время сейчас = в секундах до старта. Дальше имея 20 минут 10 секунд - запускаешь JS, который именно это время считывает. Вот и всё
    угу, вот только список трансляций обновляется без обновления страницы, и если в json'е возвращать минуты-секунды - то будет иметь гарантированный рассинхрон и в случае остановки крона стримы будут вечно висеть в анонсе

    хм... а расскажи мне как посредством js определить что у пользователя выставлен неверный часовой пояс? и мало того что неверный пояс, но еще и неверное время? вся проблема в том, что у человека и время неверное указано, и юникс таймстамп получается не настоящим

    - - - Добавлено - - -

    Цитата Сообщение от Zak. Посмотреть сообщение
    Переехал из Москвы в Порт-Луи и сделал синхронизацию с интернетом, таймеры появились. Но как-то это всё неправильно.
    неправильно сидеть в часовом поясе UTC+3 с временем часового пояса UTC+4

  8. #8
    Освоившийся
    Регистрация
    08.07.2014
    Сообщений
    120
    Цитата Сообщение от KingCobra Посмотреть сообщение
    угу, вот только список трансляций обновляется без обновления страницы, и если в json'е возвращать минуты-секунды - то будет иметь гарантированный рассинхрон и в случае остановки крона стримы будут вечно висеть в анонсе

    хм... а расскажи мне как посредством js определить что у пользователя выставлен неверный часовой пояс? и мало того что неверный пояс, но еще и неверное время? вся проблема в том, что у человека и время неверное указано, и юникс таймстамп получается не настоящим

    - - - Добавлено - - -


    неправильно сидеть в часовом поясе UTC+3 с временем часового пояса UTC+4
    Надо возвращать время до начала, а не дату начала. Я же выше ответ дал.

  9. #9
    Активный участник
    Регистрация
    20.05.2011
    Сообщений
    1,056
    Цитата Сообщение от inpost Посмотреть сообщение
    Надо возвращать время до начала, а не дату начала. Я же выше ответ дал.
    а теперь представь ситуевину. крон падает, список стримов перестает обновляться, таймер тикает 30 минут, человек обновляет страницу - таймер начинает тикать по новой

  10. #10
    забанен навсегда
    Регистрация
    27.05.2013
    Сообщений
    690
    Цитата Сообщение от KingCobra Посмотреть сообщение
    хм... а расскажи мне как посредством js определить что у пользователя выставлен неверный часовой пояс? и мало того что неверный пояс, но еще и неверное время? вся проблема в том, что у человека и время неверное указано, и юникс таймстамп получается не настоящим
    Чисто в теории, аяксом передаешь текущее время юзера, на серваке расчитываешь смещение пользовательского времени от UTC, сохраняешь в куках и исходя из этого времени расчитываешь все

  11. #11
    Активный участник
    Регистрация
    20.05.2011
    Сообщений
    1,056
    Цитата Сообщение от Foxie Посмотреть сообщение
    Чисто в теории, аяксом передаешь текущее время юзера, на серваке расчитываешь смещение пользовательского времени от UTC, сохраняешь в куках и исходя из этого времени расчитываешь все
    лол, если неверно выставленны настройки то это никак не поможет. вся суть проблемы в том, что date.getTime отдает таймстамп по юниксу, но если пользователь краб и поставил себе неправильное время - js не может посчитать правильный таймстамп

  12. #12
    забанен навсегда
    Регистрация
    27.05.2013
    Сообщений
    690
    Цитата Сообщение от KingCobra Посмотреть сообщение
    лол, если неверно выставленны настройки то это никак не поможет. вся суть проблемы в том, что date.getTime отдает таймстамп по юниксу, но если пользователь краб и поставил себе неправильное время - js не может посчитать правильный таймстамп
    На стороне клиента берешь таймстамп, например 15:30, отправляешь на сервер. Смотришь на сервере время по UTC например время по UTC 10:00. Получаем что локальное время клиента отличается на 4:30, сохраняем это у клиента в куках. Теперь можно отправлять клиенту время в UTC, к этому времени плюсовать время клиента. Например стрим в 12:00 по UTC, значит локальное время пользователя 16:30 :grumpy: (таймстемп перевел во время, чтобы было понятно)

    Хотя можно проще, тупо в каждом запросе дописывать текущее время по UTC и всё
    Последний раз редактировалось Foxie; 08.08.2014 в 23:26.

  13. #13
    Освоившийся
    Регистрация
    08.07.2014
    Сообщений
    120
    Цитата Сообщение от KingCobra Посмотреть сообщение
    а теперь представь ситуевину. крон падает, список стримов перестает обновляться, таймер тикает 30 минут, человек обновляет страницу - таймер начинает тикать по новой
    Какой крон? Он тут к чему?
    Время сервера: 14:40
    Время старта стрима: 14:50
    Ajax дёргает ПХП скрипт, который делает вычитание: 14:50-14:40 = 600 секунд. Отправляет ответ в JS. JS запускает таймер на 600 секунд и всё.
    Обновишь ты страницу в 14:45. Скрипт считает: 14:50-14:45 = 300 секунд. Таймер на 300 секунд включается.

    __________

    Всё, умываю руки Не хочешь учиться, не буду тратить время

  14. #14
    Активный участник
    Регистрация
    20.05.2011
    Сообщений
    1,056
    Цитата Сообщение от inpost Посмотреть сообщение
    Какой крон? Он тут к чему?
    Время сервера: 14:40
    Время старта стрима: 14:50
    Ajax дёргает ПХП скрипт, который делает вычитание: 14:50-14:40 = 600 секунд. Отправляет ответ в JS. JS запускает таймер на 600 секунд и всё.
    Обновишь ты страницу в 14:45. Скрипт считает: 14:50-14:45 = 300 секунд. Таймер на 300 секунд включается.

    __________

    Всё, умываю руки Не хочешь учиться, не буду тратить время
    просто мега решение) по 1 аякс запросу на каждый стрим от каждого юзера)

    - - - Добавлено - - -

    Цитата Сообщение от Foxie Посмотреть сообщение
    На стороне клиента берешь таймстамп, например 15:30, отправляешь на сервер. Смотришь на сервере время по UTC например время по UTC 10:00. Получаем что локальное время клиента отличается на 4:30, сохраняем это у клиента в куках. Теперь можно отправлять клиенту время в UTC, к этому времени плюсовать время клиента. Например стрим в 12:00 по UTC, значит локальное время пользователя 16:30 :grumpy: (таймстемп перевел во время, чтобы было понятно)

    Хотя можно проще, тупо в каждом запросе дописывать текущее время по UTC и всё
    таймстамп на стороне клиента и должен быть UTC, если клиент не может настроить время на компе - это его проблемы.

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

    - - - Добавлено - - -

    пс, инпост, ты не забудь в следующий раз когда захочешь "взломать" сервер, попросить у адольфа админские права)

  15. #15
    Освоившийся
    Регистрация
    08.07.2014
    Сообщений
    120
    1000 фейспалмов этому господину

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. таймер(счетчик) на стримах
    от Nkin в разделе Cайт SC2TV.RU
    Ответов: 0
    Последнее сообщение: 19.04.2011, 22:12
  2. таймер в старкрафт
    от Дядя Миша в разделе Starcraft
    Ответов: 18
    Последнее сообщение: 03.04.2011, 13:06
  3. Ответов: 18
    Последнее сообщение: 01.03.2011, 15:10
  4. Таймер на сайте до релиза Starcraft2
    от Romeo1 в разделе Cайт SC2TV.RU
    Ответов: 9
    Последнее сообщение: 14.06.2010, 15:02
  5. Таймер
    от ninZzo в разделе Starcraft
    Ответов: 2
    Последнее сообщение: 22.01.2010, 10:17

Ваши права

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