1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

JavaScript и черные дыры

Тема в разделе "Оффтопик", создана пользователем ql_Nik_lp, 28 май 2015.

  1. Автор темы
    ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Всем доброго времени суток, пишу клиент-серверное приложение на Node.JS и уже очень долго борюсь с непонятным мне ранее багом, а именно странным течением времени на клиенте и сервере.
    Грешил на многое, теперь в конец решил замерить интервал между вызовами главного update() метода иии...
    [​IMG]

    Слева сервер, справа соответственно клиент.
    В данный момент для лупа использую setTimeout(update, 50);
    Что делать - без понятия, один вопрос - wtf

    Буду благодарен за помощь.
     
  2. Plasticable

    Plasticable Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    plasticable
    Имя в Minecraft:
    Plasticable
  3. Автор темы
    ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Какая фигня?
     
  4. Jamefrus

    Jamefrus Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    JNexil
    Ошибочка, не в ту тему написал.
     
  5. Автор темы
    ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
  6. Code

    Code Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    наверно сервер не успевает, или у него есть дела по важнее)
     
  7. Cames

    Cames Старожил Пользователь

    Баллы:
    153
    Skype:
    sky_meg
    А почему таймаут то? Вообще использование таймаута и интервала не самое лучшее решение.
     
  8. Автор темы
    ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Подскажете альтернативы? (Недавно в вебдеве)
     
  9. AlexGamerWorld

    AlexGamerWorld Ньюби Пользователь Заблокирован

    Баллы:
    1
    Чёрные дыры?
    Что будет когда ты достигнешь точки сингулярности?А?
     
  10. Автор темы
    ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Дельта будет стремиться к бесконечности.
     
  11. MrDeadPool

    MrDeadPool Активный участник Пользователь

    Баллы:
    78
    если кусок золота кинуть в сингулярность будет много золота?Новая идея для аддона к индастриалу,грег течу и галактик крафту!!!111
     
  12. Автор темы
    ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Ребяят, ну вы серьезно?
     
  13. Cames

    Cames Старожил Пользователь

    Баллы:
    153
    Skype:
    sky_meg
    На js намного лучше строить цепочки из callback'ов. Это ж асинхронно все работает. Будет надежнее и стабильнее.
     
  14. Автор темы
    ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    А задерживать их как?
     
  15. AlexGamerWorld

    AlexGamerWorld Ньюби Пользователь Заблокирован

    Баллы:
    1
    Кусок дурака, чтобы в сингулярность попасть ещё нужно до чёрной дыры добратся.
     
  16. andrew_houp

    andrew_houp Активный участник Пользователь

    Баллы:
    63
    Имя в Minecraft:
    cube
    а разве "черная дыра" не есть бытовое название сингулярности?
     
  17. Cames

    Cames Старожил Пользователь

    Баллы:
    153
    Skype:
    sky_meg
    Через callback с помощью timeout. Без цепочки вызовов они все работать разом будут.
    Или через интервал. Это не самые лучшие решения, но подойти могут.
    Нет, не есть. Даже у черной дыры не может быть бесконечная плотность материи. Тогда бы каждая дыра породила свою вселенную. Не путайте понятия.
     
  18. Автор темы
    ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Неужели так сложно прочитать мой пост? .-.
    Моя проблема и состоит в том что с этими решениями у меня и возникла проблема.
     
  19. Cames

    Cames Старожил Пользователь

    Баллы:
    153
    Skype:
    sky_meg
    У тебя рекурсивная callback функция с задержкой через timeout?
     
  20. Автор темы
    ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Да.
    Так же пробовал вариант через setInterval

    На клиенте мне относительно помогла такая реализация, но под нодой она отказалась работать адекватно
    Код:
    var startTime;
    function setCorrectingInterval(func, delay) {
        if (!(this instanceof setCorrectingInterval)) {
            return new setCorrectingInterval(func, delay);
        }
    
        var target = (new Date().valueOf()) + delay;
        var that = this;
    
        function tick() {
            if (that.stopped) return;
    
            target += delay;
            func();
    
            setTimeout(tick, target - (new Date().valueOf()));
        };
    
        setTimeout(tick, delay);
    };
     

Поделиться этой страницей