• 【转】轮询、长轮询、iframe长连接、web socket


    引自:http://www.cnblogs.com/AloneSword/p/3517463.html

            http://www.cnblogs.com/wei2yi/archive/2011/03/23/1992830.html

    代码示例:

    1.iframe实现长连接

    <%@ page language="java" contentType="text/html; charset=GB18030"
        pageEncoding="GB18030"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
    <title>Insert title here</title>
    </head>
    <script type="text/javascript" src="jquery-1.9.1.js"></script>
    
    <script>
        function loadData(){
            $('#logs').append(new Date());
        }
    </script>
    <body>
    <iframe id="frame" name="polling" src="/myweb/TestLongPolling"></iframe>
            <div id="logs"></div>
    </body>
    </html>
    package bookstore;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class TestLongPolling
     */
    @WebServlet("/TestLongPolling")
    public class TestLongPolling extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public TestLongPolling() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            doPost(request,response);
        }
    
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            int i = 0;  
            boolean boo = true;  
            String result = null;  
            while(boo){  
                try {  
                        Thread.sleep(1000);  
                    } catch (InterruptedException e) {  
                        e.printStackTrace();    
                    }  
                result = "hello I'm server"+i;//要打印到前台的字符  
                //sendMsg(result,response,"msg");//msg是test.jsp中的那个js方法的名称  
                
                    response.setContentType("text/html;charset=GBK");  
                    response.getWriter().write(  
                            "<script type='text/javascript'>parent.loadData()</script>");  
                    response.flushBuffer();  
                
                i++;  
                if(i==10){  
                    boo = false;  
                }  
            }  
        }
    
    }

    2.web socket 

      待续....

  • 相关阅读:
    一分钟制作U盘版BT3
    微软历史最高市值是多少?
    Windows 7系统安装MySQL5.5.21图解
    cocos2d-x3.0 Physics新的物理引擎
    java使用javamail读取邮箱(收件箱为例)
    Java实现第九届蓝桥杯字母阵列
    Java实现第九届蓝桥杯字母阵列
    Java实现第九届蓝桥杯字母阵列
    Java实现第九届蓝桥杯猴子分香蕉
    Java实现第九届蓝桥杯猴子分香蕉
  • 原文地址:https://www.cnblogs.com/grape1211/p/4231631.html
Copyright © 2020-2023  润新知