• Как определить пользователя (получить доступ к данным его сессии) в laravel, получив запрос через сокеты node?

    Alixx
    @Alixx Автор вопроса
    Разве это то что нужно? Для них регистрацию свою надо делать, логирование.. У меня пользователь регается и логинится стандартным образом в ларавел (Auth\RegisterController, Auth\LoginController). Соответственно, для него и ключ сессии и токен созданы.
    Зачем нужен ещё один токен, только другой - jwt? Он как работает? Я так понимаю, точно также его передают при запросе, и надо лезть в бд, смотреть, что за пользователь хранится под этим jwt-токеном. Так?
    Написано
  • Как сделать передвижение ботов на node.js, чтобы на клиенте оно плавно отображалось?

    Alixx
    @Alixx Автор вопроса
    Спасибо за ответ.
    а бот - по команде от самого бота,

    Не так. Когда бот должен появится на карте вообще, то сервер запустить процесс его передвижения. В этом процессе сервер меняет текущие координаты бота на новые с учётом его скорости (т.е. ещё и время сравнивается). Всё. Это и есть передвижение бота (пока что боты ничего другого не делают, передвижение сначала реализую).
    Мне неясно, что из себя этот процесс должен представлять.
    Пока вижу только - цикл по всем ботам, запускающийся раз в n миллисекунд и в нём новую координату приписывать.
    Написано
  • Как изменить запись в бд при достижении определенной даты?

    Alixx
    @Alixx
    Прочтите про планировщик задач в laravel и планировщик задач в postgresql, возможно вам подойдёт.
    Написано
  • Как можно передать такое?

    Alixx
    @Alixx
    Роман Юрьевич Ипатьев, Ну вот не получил человек ответ на свой вопрос и что теперь делать ему? Тот вопрос уже никому не интересен, а ответа человек так и не получил, и поднять вопрос вверх нельзя, ну и что Вы предлагаете, забить на этот вопрос, т.к. он уже никогда не будет решён?
    А по поводу заголовка, очевидно, человек не знает как задать его точнее, ну предложите свой тогда вариант, раз так обращаете внимание на это.
    Написано
  • Что такое каналы в широковещании laravel?

    Alixx
    @Alixx Автор вопроса
    Mellorn, Вы привели пример работы тв канала со стороны клиента. А я спрашиваю, про сторону сервера.
    На примере тв каналов. ТВ канал передаёт сигнал в виде радиоволн на определённой конкретно его частоте, которые ловят тв антенны, которая передаёт сигнал в телевизор на стороне клиента (а на телевизоре была выбрана частота этого канал). Вот что такое канал, это определённая частота вещания. А не то, что мы включили и смотрим программы.
    Я, конечно, имела в виду не кабельное телевидение.
    Написано
  • Что такое каналы в широковещании laravel?

    Alixx
    @Alixx Автор вопроса
    Mellorn, Это наверное я, в силу малого понимая устройства сокетов, выражаюсь некорректно..
    Ну вот в php, вызываем socket_create – создаём сокет, вызываем socket_bind – привязываем сокет к ip и порту, вызываем socket_set_option - разрешаем использовать один порт для нескольких соединений и вызываем socket_listen – прослушиваем входящие соединения на сокете. Всё, все запросы на один этот сокет приходят, на клиенте указываем также ip и порт, куда отправлять запросы. Нет тут каналов.. Я не понимаю, как реализованы каналы в этих библиотеках.
    сервер - это просто приложение, имеющее определённую реализацию.

    Я спрашиваю про физическое, что ли, устройство сокетов и каналов. Сокет это по сути порт, открытый для принятия подключений, как я понимаю. Все запросы, на него приходящие, обрабатываются одним алгоритмом. А канал где и что это?
    Про то, как работать с каналами в laravel, я прекрасно понимаю. Всё, что Вы написали про их устройство, мне прекрасно понятно. Но в документации не рассказывается, как устроены каналы, как они создаются, как принимают запросы и т.д.
    Написано
  • Что такое каналы в широковещании laravel?

    Alixx
    @Alixx Автор вопроса
    Mellorn, Спасибо за ответ. Я спрашивала про, как бы сказать, физически что такое канал? Ну вот есть сокеты на php, чтобы открыть сокет надо указать ip и порт (там ещё какие-то данные, но я не про них) и открытие сокета для соединений означает открытие этого порта для принятия соединений. На один этот порт теперь приходят запросы на подключение, подключаем, и начинаем принимать/отправлять данные по этому соединению. Вот что такое "открыть сокет" по факту. А библиотеки, которые в laravel используются, они же сокеты используют. Значит они также открывают сокет для соединений.. Только "каналов" там нет... Вот мне и не понятно, как эти библиотеки прикрутили "каналы" к этим обычным сокетам?
    Написано
  • Postgresql или redis для данных, используемых в сокетах?

    Alixx
    @Alixx Автор вопроса
    Василий Банников, Глупый, наверно, вопрос, но получается это же и есть кэширование? В данном случае для него используем конкретно redis?
    Таким образом, для всего проекта для кэширования можно использовать redis. (Просто пока что создаём основной функционал самой игры. К кэшированию собирались позже вернутся.)
    Написано
  • Postgresql или redis для данных, используемых в сокетах?

    Alixx
    @Alixx Автор вопроса
    Василий Банников,
    Почему каждую минуту? И зачем сохранять? Можно же постоянно в тарантуле и хранить. Ну или сохранять только при отключении игрока. Или архитектура не позволяет?

    Хм. Сейчас уточняла этот момент. в общем, да, не нужно сохранять каждую минуту, можно реже..
    Делается же это в принципе только из-за того, что, если сервер упал, то данные из памяти были сохранены перед этим (последнее сохранение сколько-то минут назад, или часов).
    Какие-то важные действия будем сохранять сразу в postgresql.
    Тогда вот так. И redis будем использовать.
    Написано
  • Postgresql или redis для данных, используемых в сокетах?

    Alixx
    @Alixx Автор вопроса
    Спасибо за ответ. Про tarantool слышу впервые, посмотрим)
    в нём можно хранить более сложные данные, чем просто k-v.

    Но значения ключей в redis имеют разные типы, в т.ч. множества, хеш-таблицы.

    Получается всё равно нужно каждую минуту сохранять все данные из такой бд в postgresql. Каждую минуту, потому что это всё-таки игра, и игрок может многое сделать (преодолеть большой путь) за минуту и если эти данные потеряются, то игрок будет очень недоволен этим..
    Один единственный postgresql, я так понимаю, не стоит и рассматривать? Лучше всего использовать промежуточно nosql бд?
    Написано
  • Postgresql или redis для данных, используемых в сокетах?

    Alixx
    @Alixx Автор вопроса
    Спасибо за ответ. Но ведь я как раз и написала, что координаты обновляются постоянно (игроки же почти всегда в движении находятся) и их каждый раз нужно сохранять, значит - трогать базу..
    Написано
  • Зачем ларавели нужен докер?

    Alixx
    @Alixx
    Докер для развёртывания же используют. А чтобы вести разработку на ларе docker не нужен.
    Написано
  • Каким образом можно присвоить элементу массива false, если для него нет значения?

    Alixx
    @Alixx
    Я бы так сократила
    $params = ['lastname', 'firstname', 'secondname', 'birthday', 'phone', 'email'];
            foreach ($params as $key => $val) {
                ($req[$key + 1]) ? $res['params'][$val] = $req[$key + 1] : false;
            }
    Написано
  • Как запускать и отслеживать выполнение квестов в браузерке на laravel?

    Alixx
    @Alixx Автор вопроса
    Сергей delphinpro, Ясно:) Спасибо за ответ, в любом случае)
    Написано
  • Как запускать и отслеживать выполнение квестов в браузерке на laravel?

    Alixx
    @Alixx Автор вопроса
    Сергей delphinpro, Нну, сколько таких вот мест с одним (и более) дополнительным if? Сколько квестов, столько и таких мест. Не отрицаю, может я рано загоняюсь. Просто думала, что есть уже подходящее решение для таких ситуаций, там может какой шаблон проектирования прямо для такого есть..
    А раз нет, тогда так придётся. Но так мне уже не нравится)
    Написано
  • Как запускать и отслеживать выполнение квестов в браузерке на laravel?

    Alixx
    @Alixx Автор вопроса
    Понимаю, хорошо, но тогда всё равно получается, что (рассматривая именно этот случай) квест этот запускается всего один раз за всю игру, но проверять мы это будем каждый раз при запуске работы в строении А... Как-то тоже неправильно и излишняя нагрузка...
    Написано
  • Почему не ставится laravel-websockets?

    Alixx
    @Alixx Автор вопроса
    Mellorn, Согласна с вами.
    Написано
  • Почему не ставится laravel-websockets?

    Alixx
    @Alixx Автор вопроса
    Mellorn, Легко понять, когда не знаешь английского, а русская документация отстаёт.
    Написано