1

I am using a servlet as my server to send updates to my jsp client(Using HTML5 SSE). This is my jsp code

<script type="text/javascript">
 if(typeof(EventSource)!=="undefined")
 {
 var source=new EventSource("server");
 source.onmessage=function(event)
 {
 document.getElementById("news1").innerHTML+=event.data + "<br />";
 };
 }
 else
 {
 document.getElementById("news1").innerHTML="Sorry, your browser does not support server-sent events...";
 }
 </script>

This is my servlet doGet method.

response.setContentType("text/event-stream"); 
 PrintWriter out = response.getWriter(); 
 int messagesSent = 0; 
 out.print("data: {" + messagesSent++ + "}\n\n"); 
 out.flush(); 
 out.close();

This is working fine and server is sending updates approximately in every 3 seconds by default. I want to change this to every 10 minutes. Is it possible? If yes,How?

asked Feb 27, 2012 at 10:58
1
  • Have you tried not closing the stream at server-side, and sending a message to this stream every 10 minutes? Commented Feb 27, 2012 at 12:40

2 Answers 2

2

In your response you need to send retry: with the timeout in milliseconds

Therefore you doGet should look like this....

response.setContentType("text/event-stream"); 
PrintWriter out = response.getWriter(); 
int messagesSent = 0; 
out.print("retry: 600000\n"); //set the timeout to 10 mins in milliseconds
out.print("data: {" + messagesSent++ + "}\n\n"); 
out.flush(); 
out.close();

See HTML5Rocks.com for more info an the EventSource object.

answered Feb 28, 2012 at 0:01
Sign up to request clarification or add additional context in comments.

Comments

0

The above solution does not work with Chrome because of the ContentType.

Chrome expects this:

response.setContentType("text/event-stream;charset=UTF-8");

Find a sample googling "milestonenext HTML5 Server-Sent Events Sample with Java Servlet as Event Server"

Navnath Godse
2,2252 gold badges25 silver badges33 bronze badges
answered Jul 15, 2013 at 14:13

Comments

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.