В настоящее время я занимаюсь разработкой приложения для бронирования такси.
Сейчас я работаю над приложением драйвера.
Теперь моя задача состоит в том, чтобы я хотел отключить его от сети и подключить к сети, когда Интернет отключается или отключается.
В моей базе данных у меня есть столбец is_online, значение которого равно 1, когда он онлайн, и 0, когда он оффлайн.
Хорошо, теперь я знаю, как сделать его онлайн, но как сделать его оффлайн? если интернет отключился! Как я могу обновить значение в дБ. осталось 1
никогда не идет к 0;
В настоящее время я использую Broadcast Receiver, который уведомляет меня, когда интернет отключен или подключен.
<?PHP
require_once 'include/DB_Settings_Functions.php';
$db = new DB_Functions();
// json response array
$response = array("error" => FALSE);
if(isset($_POST['driver_id'])&&isset($_POST['status']))
{
$driver_id= $_POST['driver_id'];
$status= $_POST['status'];$user = $db->makeOnline($driver_id,$status);
}?>
Я слышал, что это можно решить с помощью mqtt любой рабочий пример? Может кто-нибудь мне помочь? я использую локальный хост-сервер wamp.
Редактировать:
Проще говоря, я хочу отправить значение на сервер до того, как соединение оборвется. Есть ли идеи, как это можно сделать с помощью mqtt?
Вы можете отправить запрос каждую минуту из мобильного приложения и сохранить его дату и время в базе данных. если пользователь в сети, это означает, что время последнего доступа будет обновляться каждые минуты в базе данных, а если пользователь не в сети, то время последнего времени доступа не будет обновляться в базе данных, поэтому вам просто нужно запустить SQL-запрос для того, чтобы отключить пользователя с последним временем доступа Терется потом 2 минус.
MQTT имеет функцию, которая называется Last Will and Testament (LWT), это сообщения, которые публикуются посредником по истечении времени ожидания клиентского соединения.
Это означает, что клиент может опубликовать сохраненное сообщение в уникальной теме, когда оно появится в сети (например, опубликовать 1 в / status). Затем он может настроить LWT для публикации 0 в той же теме, если соединение разрывается. Также следует вручную опубликовать 0, прежде чем вручную закрывать соединение, так как LWT срабатывает только в том случае, если соединение неожиданно обрывается.
Вы можете настроить время ожидания в соответствии с вашими потребностями.