@luckyjenro0

Как сделать цикл функции в PHP WORKERMAN (WEBSOCKET)?

Здравствуйте! Нужно что бы при событии onConnect в workerman запускалась функция, которая каждые 60 секунд что-то делает.

Пробовал:
$wsWorker->onConnect = function ($connection) {
    set_time_limit(0);
    while (true) {
        $callback1 = [
            'type' => 'test',
            'sadasd' => 112,
        ];

        //$connection->send(json_encode($callback1));
        echo 'Sended!';
        sleep(5);
    }
}


Но в примере выше тогда все что идет после цикла (sleep) не выполняется и JS пишет соответственно CONNECTING STATE. Как можно реализовать то, что мне надо? С js отправлять запросы не разумно, ведь юзер может подделать js клиентский код, и запросы на проверку отправляться не будут. Если что это проверка истек ли срок премиум аккаунта.
  • Вопрос задан
  • 169 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
В Workerman'е есть таймеры.
https://github.com/walkor/workerman-manual/blob/ma...
Но идея неправильная. Если вся проверка "премиальности" на стороне клиента, то её легко заблокировать, просто найдя место проверки в JS-коде и исправив его.
Правильный вариант - выполнять все премиальные функции на стороне сервера.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы