Push notificatie
Crowl.sse.js
Met de class CrowlServerListener kan je luisteren naar pushnotificaties van de server.
const ccl = new CrowlServerListener('path/to/your/sse-endpoint');
ccl.connect();
ccl.onMessage((data) => {
var d = data;
console.log('Received data in callback:', d);
});
//of wanneer JSON-data aanwezig zijn...
ccl.onMessage((data) => {
try {
const jsonData = JSON.parse(data);
console.log(jsonData);
} catch (e) {
console.error('Fout bij parsen JSON-gegevens: ', e);
}
});
Voorbeeld PHP-SSE-endpoint
<?
//instellen headers
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
header('Connection: keep-alive');
function sendSSE($id, $event, $data) {
echo "id: $id ";
echo "event: $event ";
echo "data: $data ";
ob_flush();
flush();
}
$id = 1;
while (true) {
//hier komt de code voor het verzenden
$data = json_encode(
['type' => 'notification',
'message' => 'Crowl test notificatie',
'timestamp' => date('r')]
);
sendSSE($id++, 'message', $data);
//wacht 1 seconde voor de volgende verzending
sleep ( 1 )
}
?>
In de while-lus kan je vervolgens de data samenstellen en via de sendSSE verzenden naar de webapplicatie.