zoukankan      html  css  js  c++  java
  • 如何减轻ajax定时触发对服务器造成的压力和带宽的压力?ajax-长轮训

    AJAX长轮询的方法来解决频繁对后台的请求,进一步减小压力

    在实现过程发现AJAX的多次请求会出现多线程并发的问题又使用线程同步来解决该问题

    个人对ajax长轮询的一点愚见

    ajax请示后台时,后台程序并没有立即返回信息而是挂起,当符合条件时才会返回信息

    从ajax定时请求变成轮询模式:

    function getRtmMsg(show){  
            $.ajax({  
               type:"POST",  
               url:"rtmAction!getMsg.action",  
               data:"show="+show,  
               success: function(msg){  
                 if(msg!=null){  
                    bottomRight();  
                    getRtmMsg("0");  
                 }  
               }  
            });  
        }  

    后台代码:

    /** 
     * 实时消息Action 
     * @author wangwei 
     * May 23, 2013 
     */  
    public class RtmAction  extends ActionSupport{  
          
        HttpServletResponse response = ServletActionContext.getResponse();  
        HttpServletRequest request = ServletActionContext.getRequest();  
          
        private static final ThreadLocal threadLocal = new ThreadLocal();  
        private static Object lock = new Object();  
        public void getMsg(){  
            String show = request.getParameter("show");  
            if("0".equals(show)){  
                RtmTemplate.cjzxShow = false;  
            }  
            try {  
                //多线程同步解决并发问题  
                synchronized(lock){  
                    while(!RtmTemplate.cjzxShow){  
                        System.out.println("检测中。。。。");  
                        Thread.sleep(5000);  
                    }  
                }  
                response.getWriter().println("1");  
            } catch (IOException e) {  
                e.printStackTrace();  
            } catch (InterruptedException e) {  
                e.printStackTrace();  
            }  
        }  
          
    }  
  • 相关阅读:
    为什么我用Ipad Pro做电子笔记和看PDF电子书
    将Chrome浏览器中的扩展程序导出为crx插件文件
    OneNote
    UPAD for iCloud
    在家和图书馆学习哪个好
    基于GRPC+consul通信的服务化框架(转)
    wrk中的lua脚本(转)
    Lua标准库(转)
    分布式队列编程:从模型、实战到优化(转)
    性能测试之-wrk(转)
  • 原文地址:https://www.cnblogs.com/tohxyblog/p/7084002.html
Copyright © 2011-2022 走看看