zoukankan      html  css  js  c++  java
  • pushlet服务端推送——多播

    版权声明:本文为博主牟云飞原创文章。未经博主同意不得转载。

    https://blog.csdn.net/myfmyfmyfmyf/article/details/36364337

    ---------------------在jsp页面中增加---------------------- 

    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <base href="<%=basePath%>">
    //从官网下载
    <script type="text/javascript" src="<%=path%>/cc/util/js/ajax-pushlet-client.js"></script>
    <script type="text/javascript">

    PL._init();

    //监听mutiSend时间。mutiSend是我定义的
    PL.joinListen('/mutiSend');
    function onData(event) {
    try{

    //读取内容
    var context=event.get("msg");

    //解决汉字乱码问题
    context=decodeURIComponent(context);
    if(null!=context&&"undefined"!=context){
    //var a=document.getElementById("contex");
    //a.innerHTML=context;
    pushInfoShowDiv(context);
    }
    }catch(e){
    }
    // 离开
    // PL.leave();
    }
    </script>


     

    --------------------------web.xml文件里增加

      <!-- pushlet -->
      <servlet>
    		<servlet-name>pushlet</servlet-name>
    		<servlet-class>nl.justobjects.pushlet.servlet.Pushlet</servlet-class>
    		<load-on-startup>3</load-on-startup>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>pushlet</servlet-name>
    		<url-pattern>/pushlet.srv</url-pattern>
    	</servlet-mapping>


     

    ------------------------java文件-----------------

    //向全部和****名称匹配的事件进行推送
    	public void mutiSend(){
    		
    		try {
    			//获得数据
    			List<RemindInfo> list = retrieve(null,null,null,null,null);
    			String remindContent="";
    			if(null!=list&&0!=list.size()){
    				remindContent=list.get(0).getRemindContent();
    			}
    			Event event =Event.createDataEvent("/mutiSend");
    			event.setField("msg", URLEncoder.encode(remindContent+"<br/>推送时间:"+new Date().toLocaleString(),"UTF-8"));//解决乱码
    			Dispatcher.getInstance().multicast(event);
    		} catch (UnsupportedEncodingException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    	}


     假设须要页面点击发送,然后推送给各个客户端。在action或者servlet中增加

     Event event =Event.createDataEvent("/mutiSend");

    event.setField("msg", URLEncoder.encode(remindContent+"<br/>推送时间:"+new Date().toLocaleString(),"UTF-8"));//解决乱码

    Dispatcher.getInstance().multicast(event);

    这三句代码就可以

    ------------效果-------------

  • 相关阅读:
    HIVE高级(14):优化(14) Hive On Spark配置
    HIVE高级(13):优化(13) Hive Job 优化
    HIVE高级(12):优化(12) 数据倾斜
    HIVE高级(11):优化(11) HQL 语法优化(2) 多表优化
    HIVE高级(10):优化(10) HQL 语法优化(1) 单表优化
    HIVE高级(9):优化(9) Hive 建表优化(1) 分区表/分桶表/合适的文件格式/合适的压缩格式
    HIVE高级(8):优化(8) Explain 查看执行计划(二)
    Hive基础(19):Hive 函数(2) 自定义函数/自定义 UDF 函数/自定义 UDTF 函数
    Hive基础(18):Hive语法(5) DDL(2) 分区表和分桶表
    MATLAB RGB2HSV、HSV2RGB
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10554392.html
Copyright © 2011-2022 走看看