За последние 24 часа нас посетили 31034 программиста и 1416 роботов. Сейчас ищут 917 программистов ...

Вечный запрос или промежуток запроса сервера!

Тема в разделе "JavaScript и AJAX", создана пользователем engine.energy, 24 июл 2015.

  1. engine.energy

    engine.energy Новичок

    С нами с:
    31 май 2015
    Сообщения:
    149
    Симпатии:
    0
    Что лучше выбрать 1 или 2?

    1. Клиент двинул игрок и отправляет сервер и сервер сразу отправляет остальных клиента о движение игрока.
    Тестировал: что двигают нормально, но когда становит больше игрока тем медленнее получает множества ответ от сервера. То есть 1000 игрок двинул и отправил 1000 раз emit а сервер отправил остальные 1000 brodcast.emit.

    2. Клиент двинул игрок и отправляет к серверу и сохраняет положение игрока в массив. а сам сервер setinterval
    отправляет клиентам остальных массиву. а клиент получит и обновляет каждого игрока положение.

    каждый клиент имеет интервал что получает каждый 0.05 сек данные массива.
    Проблема том что он двигает не гладко а иногда толчок двигает.

    PS. Извини за русский язык, с утра чета норм не могу писать!
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    не совсем понятно что игра, action или стратегия, если action то наверное принципиально что бы все двигалось плавно, по этому все же первый вариант.

    Так же можно попробовать сделать это через сокет.

    Так же можно попробовать эти данные о передвижении хранить как то по другому, что то типа кеширования, т.е. последние данные для более быстрого получения записывать в файл .txt и оттуда брать эти данные, как то так.
    Но опять же надо видеть саму игру и код и вообще что происходит.
     
  3. engine.energy

    engine.energy Новичок

    С нами с:
    31 май 2015
    Сообщения:
    149
    Симпатии:
    0
    VLK, я и пишу через сокет.

    2. просто каждый промежуток сервер отправляет клдиенту все масива игрока и позиция.
    1. или клиент двинул и сразу отправить другим клиентам о его позиции.

    так как я пишу сервер на node js а клиент js с html canvas.

    Просто видео покажу
    Это промежуток сервер отправляет клиентам, но заметно что некоторые запоздывают.


    а это срочный отправка с клиент -> сервер -> клиент другим
     
  4. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Сервер отправляет клиентам пакет среди данных которого есть изменения местоположения объектов в видимой для клиента области (важный нюанс). Не каждого отдельного игрока, а всех в видимой области
    У вас это второй вариант.
     
  5. engine.energy

    engine.energy Новичок

    С нами с:
    31 май 2015
    Сообщения:
    149
    Симпатии:
    0
    Zuldek, спасибо!