Я рекомендую использовать на фронтэнде JS либу PushStream
https://github.com/wandenberg/nginx-push-stream-mo...
Отправляем сообщение на фронтенд через nginx-push-stream-module сервер
$message = array('message'=>'Привет!');
$idChannel = 1; //ID канала
$nginxPushStreamModuleHost = 'http://localhost/' //ВАШ СЕРВЕР С nginx-push-stream-module
//отправка сообщения
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $nginxPushStreamModuleHost.'pub/'.$idChannel);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($message));
curl_exec($ch);
print_r(curl_getinfo($ch));
curl_close($ch);
Прослушиваем nginx-push-stream-module сервер на фронтенде
idChannel = 1; //ID канала
nginxPushStreamModuleHost = 'http://localhost/'; //ВАШ СЕРВЕР С nginx-push-stream-module
pushstream = new PushStream({
timeout: 20000,
modes: 'eventsource|stream',
host:nginxPushStreamModuleHost,
useSSL:false
});
pushstream.onmessage = function(json) {
//Сработает если с сервера что-то пришло пользователю
alert('О! что-то пришол! Сообщение: '+json.message)
}
pushstream.addChannel(idChannel);
pushstream.connect();