Guest User

Untitled

a guest
Jan 20th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. function server_sent_events_get()
  2. {
  3. while (true) {
  4. header('Content-Type: text/event-stream');
  5. header('Cache-Control: no-cache');
  6. $mac = $this->get('macaddress');
  7. $scheduleid = $this->get('scheduleid');
  8. $modifiedon = urldecode($this->get('modifiedon'));
  9.  
  10. $device_result = $this->read_devices_xml_json($mac);
  11. $schedule_result = $this->read_schedules_xml_json($scheduleid, $modifiedon);
  12.  
  13. echo "event: schedule_statusn";
  14. echo "data: " . json_encode($schedule_result) . "nn";
  15. echo "event: device_statusn";
  16. echo "data: " . json_encode($device_result) . "nn";
  17. sleep(2);
  18. }
  19. }
  20.  
  21. if(typeof(EventSource) !== "undefined") {
  22. var source = new EventSource("../admin/server/macaddress/000000000002/scheduleid/111/modifiedon/0000-00-00%2000:00:00/format/json");
  23. source.onopen = function(event){
  24. document.getElementById("result").innerHTML += "opened<br>";
  25. // console.log(event);
  26. };
  27. source.onmessage = function(event) {
  28. document.getElementById("result").innerHTML += event.data + "<br>";
  29. // console.log(event);
  30. };
  31. source.onerror = function(event){
  32. document.getElementById("result").innerHTML += "error<br>";
  33. // console.log(event);
  34. };
  35. source.addEventListener('device_status', function(e) {
  36. var data = JSON.parse(e.data);
  37. console.log("device_status");
  38. console.log(data);
  39. }, false);
  40. source.addEventListener('schedule_status', function(e) {
  41. var data = JSON.parse(e.data);
  42. console.log("schedule_status");
  43. console.log(data);
  44. }, false);
  45. } else {
  46. document.getElementById("result").innerHTML = "Sorry, your browser does not support server-sent events...";
  47. }
Add Comment
Please, Sign In to add comment