За последние 24 часа нас посетили 20719 программистов и 1106 роботов. Сейчас ищут 393 программиста ...

серверный таимер

Тема в разделе "PHP для профи", создана пользователем Fox-, 20 мар 2018.

  1. Fox-

    Fox- Активный пользователь

    С нами с:
    11 янв 2018
    Сообщения:
    94
    Симпатии:
    3
    Квесты любите играть? )

    Код (Text):
    1. <?php
    2. $sec = 60 - date("s");
    3. $sec2 = ($sec * 1000);
    4. ?>
    5.  
    6.  
    7. <script>
    8. setTimeout(function(){
    9. var tmr= "<?php echo $sec; ?>";
    10. document.write(tmr);
    11.       },1000);
    12. </script>
    Ну сделал примерно, но он ведь отображает лишь то число , которое в переменной при открытии страницы было и не отображает новое
     
  2. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    А зачем тебе новое? Насколько я понял тебе нужно насобирать большое количество пользователей и потом в одно и тоже время у всех сделать редирект что бы проверить выдержит сайт такую нагрузку или нет? Открой в браузере 2 окна редирект будет в одно время. Хотя я смотрю ты сам все дописываешь и меняешь)
    --- Добавлено ---
    Может это тебе нужно?
    Код (Javascript):
    1. <script>
    2. var tmr= "<?php echo $sec; ?>";
    3. setinterval(function(){
    4.     document.write(tmr);
    5.     if(tmr <= 0) window.locale...
    6.     tmr--;
    7. },1000);
    8. </script>
     
  3. Fox-

    Fox- Активный пользователь

    С нами с:
    11 янв 2018
    Сообщения:
    94
    Симпатии:
    3
    есть грешок.
    почему редиректа не происходит ? )
    Код (Text):
    1.  
    2.  
    3. <?php
    4. $sec = 60 - date("s"); //допустим серверное время 10 сек
    5. $sec2 = ($sec * 1000); // 50 000
    6. ?>
    7.  
    8. <script>
    9.  
    10.  
    11.  setTimeout(function(){
    12.  
    13. var tmr= "<?php echo $sec; ?>";
    14.  var tmr2= "<?php echo $sec2; ?>";
    15.  location.href='http://free-flora.comze.com/rlt/';
    16.       },tmr2);// должен перенаправить через 50 сек,  он халтурит и не делает этого
    17.      
    18. </script>
    --- Добавлено ---
    первый вариант в принципе подходит, нравиться идея, а этот нет наверное
     
  4. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    tmr2 у тебя появятся только после того как произойдет вызов функции. Вынеси var tmr2 с timeout
     
  5. Fox-

    Fox- Активный пользователь

    С нами с:
    11 янв 2018
    Сообщения:
    94
    Симпатии:
    3
    подозревал об этом
     
  6. Fox-

    Fox- Активный пользователь

    С нами с:
    11 янв 2018
    Сообщения:
    94
    Симпатии:
    3
    асинхронность в коде. Например Пользователь1 открыл страницу date("s") = 30 редирект спутя 30 сек,
    пользователь2 открыл страницу date("s") = 40 редирект спустя 20 сек. Разница 10 сек не маленькая
     
  7. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Так ты же сам просил что бы пользователей перенаправляло в одно время. Первый открыл у него 30сек. Второй открыл через 10 сек у него 20 сек. А перейдут они в одно время.
     
  8. Fox-

    Fox- Активный пользователь

    С нами с:
    11 янв 2018
    Сообщения:
    94
    Симпатии:
    3
    Нет) На странице будет не больше 3 х поситителей, игру на андроид пишу,
     
  9. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Так ты прям про?) Ну тогда может socket.io?
     
  10. Fox-

    Fox- Активный пользователь

    С нами с:
    11 янв 2018
    Сообщения:
    94
    Симпатии:
    3
    в итоге в разное время, происходит перенаправление, эх
     
  11. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Ну бери изначальное время через ajax а дальше js таймер. Это максимум что можно выжать. Или делай на сокетах
     
    Fox- нравится это.
  12. Fox-

    Fox- Активный пользователь

    С нами с:
    11 янв 2018
    Сообщения:
    94
    Симпатии:
    3
    да нет, любитель)
     
  13. Fox-

    Fox- Активный пользователь

    С нами с:
    11 янв 2018
    Сообщения:
    94
    Симпатии:
    3
    Все таки пришлось парсить в реальном времени, т.к. мне нужно что бы пользователи (их там не больше 3, поэтому перегрузки не будет, ограничение написал) из комнаты перенаправлялись только при истечении времени, то есть именно при if (59==59) у всех должно быть это время на таймере и оно должно быть выведено, вывожу через ajax, посмотрю, если будет перегруз изменю метод.