Java servlet and server sent events

前端 未结 3 1102
醉酒成梦
醉酒成梦 2020-12-14 21:41

Is it possible to create a server sent event using java servlets so that a client could receive updates using:

 

        
3条回答
  •  爱一瞬间的悲伤
    2020-12-14 22:02

    this does the trick.

    HTML

    
    
    
    
    
        
        
    
    
    
    

    Servlet :

    import java.io.*;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    
    
    
    public class sse extends HttpServlet
    {
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    {
        try
        {
            System.out.println("SSE Demo");
            response.setContentType("text/event-stream");
    
            PrintWriter pw = response.getWriter();
            int i=0;
            while(true)
            {
    
                i++;
                pw.write("event: server-time\n\n");  //take note of the 2 \n 's, also on the next line.
                pw.write("data: "+ i + "\n\n");
                System.out.println("Data Sent!!!"+i);
                if(i>10)
                break;
            }
            pw.close();
    
        }catch(Exception e){
            e.printStackTrace();
        }
    }
    
    public void doGet(HttpServletRequest request,HttpServletResponse response)  
    {
        doPost(request,response);
    }
    
    }
    

提交回复
热议问题