<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span></span></div><div>Has anyone implemented the following php script in dancer:&nbsp; <a target="_blank" href="http://yuilibrary.com/gallery/show/eventsource">http://yuilibrary.com/gallery/show/eventsource</a><br><br>What I wrote so far is:<br><br>any ['get', 'post'] =&gt; '/chat/:session' =&gt; sub {<br>&nbsp;&nbsp; if ( param('view') ){<br>&nbsp;&nbsp; &nbsp; &nbsp; template 'view', { id =&gt; param('session') }, { layout =&gt; undef };<br><br>&nbsp;&nbsp; }else{<br><br>&nbsp;&nbsp; &nbsp; &nbsp; content_type "text/event-stream";<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; # check every so often to see if there's new data<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; while( 1 ) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; # sleep for a second - simulate waiting for data<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
 sleep(1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # check for poll-only header<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (&nbsp; my $header = header("X-YUIEventSource-PollOnly") ){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; # if it's a poll-only request, break the loop, which ends the request - the client will reconnect<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; last; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 'data: ' . request-&gt;uri_base . request-&gt;path . '?view=1'; # Of course it will also end here, the loop does not continue<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 'data: ' . request-&gt;uri_base . request-&gt;path . '?view=1';<br>&nbsp;&nbsp; }<br>};<br><br>I am still getting
 some errors in the :<br>src.on("error", function(event){ console.log("Error!"); });</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br></div></div></body></html>