Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function server_sent_events_get()
- {
- while (true) {
- header('Content-Type: text/event-stream');
- header('Cache-Control: no-cache');
- $mac = $this->get('macaddress');
- $scheduleid = $this->get('scheduleid');
- $modifiedon = urldecode($this->get('modifiedon'));
- $device_result = $this->read_devices_xml_json($mac);
- $schedule_result = $this->read_schedules_xml_json($scheduleid, $modifiedon);
- echo "event: schedule_statusn";
- echo "data: " . json_encode($schedule_result) . "nn";
- echo "event: device_statusn";
- echo "data: " . json_encode($device_result) . "nn";
- sleep(2);
- }
- }
- if(typeof(EventSource) !== "undefined") {
- var source = new EventSource("../admin/server/macaddress/000000000002/scheduleid/111/modifiedon/0000-00-00%2000:00:00/format/json");
- source.onopen = function(event){
- document.getElementById("result").innerHTML += "opened<br>";
- // console.log(event);
- };
- source.onmessage = function(event) {
- document.getElementById("result").innerHTML += event.data + "<br>";
- // console.log(event);
- };
- source.onerror = function(event){
- document.getElementById("result").innerHTML += "error<br>";
- // console.log(event);
- };
- source.addEventListener('device_status', function(e) {
- var data = JSON.parse(e.data);
- console.log("device_status");
- console.log(data);
- }, false);
- source.addEventListener('schedule_status', function(e) {
- var data = JSON.parse(e.data);
- console.log("schedule_status");
- console.log(data);
- }, false);
- } else {
- document.getElementById("result").innerHTML = "Sorry, your browser does not support server-sent events...";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement