Я добавил таймер periodi c на свой сервер, который должен периодически отправлять данные всем клиентам. Это работает. Проблема в том, что мне нужно получить данные из базы данных, и мне нужен способ отслеживать новейший идентификатор строки, чтобы он работал эффективно и не повторно отправлять одну и ту же строку.
$server->loop->addPeriodicTimer(5, function () use ($App) {
$i = 0;
require_once 'getFromDb.php';
$message = getData();
$rowId = json_decode($message, true);
$rowId = $rowId[3]['id']; // the latest id
foreach ($App->clients as $client) {
if ($rowId > $i) $client->send($message);
}
$i++;
echo $i;
});
Кажется, что l oop не действует как реальный l oop, потому что 1 отражается бесконечно ($i
). Как я могу отслеживать номер?