zoukankan      html  css  js  c++  java
  • SSH集成Pushlet

    首先是需要的资源:

    1)、pushlet.jar

    2)、ajax-pushlet-client.js

    第一步、web.xml配置servlet

      <servlet>
        <servlet-name>pushlet</servlet-name>
        <servlet-class>com.newgsn.tvmall.pushlet.servlet.Pushlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>pushlet</servlet-name>
        <url-pattern>/pushlet.srv</url-pattern>
      </servlet-mapping>

    Pushlet类自定义类,继承自nl.justobjects.pushlet.servlet.Pushlet.java
    第二步、创建自定义的Pushlet类

    初始化pushlet,并注入applicationContext

    public class Pushlet extends nl.justobjects.pushlet.servlet.Pushlet {
    
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        
        public void init() throws ServletException {
            super.init();
            
            ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
            SessionManager.getInstance().initApplicationContext(ctx);
        }
    
    }

    第三步、创建推送消息工具类

    public class PushletUtil {
        
        private static String PLATFORM_MESSAGE = "UNI_CAST_MESSAGE";
        
        /**
         * 发送消息至客户端
         * @param sessionId
         * @param msg
         */
        public static void sendMessage(String sessionId, String msg){
            if(StringUtils.isNotBlank(sessionId) && SessionManager.getInstance().hasSession(sessionId)){
                Event event = Event.createDataEvent("message");
                event.setField(PLATFORM_MESSAGE, msg);
                Dispatcher.getInstance().unicast(event, sessionId);
            }
        }
        
        /**
         * 广播至所有在线客户端
         * @param msg
         */
        public static void sendBroadcast(String msg){
            Event event = Event.createDataEvent("message");
            event.setField(PLATFORM_MESSAGE, msg);
            Dispatcher.getInstance().broadcast(event);
        }
    }

    实现点对点推送和广播推送
    第四步、jsp页面接收消息

    PL._init();
    PL.userId='qinfx';  
    p_join_listen("message");
    function onData(event) {   
        if(event.get('UNI_CAST_MESSAGE') != undefined ) {
            alert(event.get('UNI_CAST_MESSAGE'));    
        }
        if(event.get('UNI_LOGOFF') != undefined ) {
            alert(event.get('UNI_LOGOFF'));
        }
    }

    PL.userId为当前登录用户的id

  • 相关阅读:
    robotframework-requests--中文注解版
    Python猜数小游戏
    走进Selenium新世界
    HTML
    Web测试方法_02
    3.线程死锁
    2.线程--线程安全(synchronized)
    1.线程--线程创建方式
    使用Android-studio开发移动app与weex结合开发详细步骤
    Weex 简介
  • 原文地址:https://www.cnblogs.com/siyu/p/3811454.html
Copyright © 2011-2022 走看看