首页 > Web开发 > 详细

comet4j实现web消息推送

时间:2014-04-10 23:25:38      阅读:605      评论:0      收藏:0      [点我收藏+]

 

最近对比了几种消息推送的方案:

xmpp(openfire)——对消息服务器的要求比较高,没有找到合适的java实现方案;

极光推送、百度推送——自动生成的id,不好绑定本地用户,作为公告类的消息推送可以,但作为本地用户间的消息推送机制还是不太合适;

comet4j——能实现消息推送,但是每个页面保持连接的js对性能的消耗也厉害,部分代码配置如下:

 

 

jsp页面:

bubuko.com,布布扣
<script type="text/javascript" src="${ctx }/resources/js/comet4j.js"></script>
<script type="text/javascript">
    function init() {

        var kbDom1 = document.getElementById(‘kbb‘);
        JS.Engine.on( {
            hello : function(kb) {//侦听一个channel
            
                    var strs = new Array(); //定义一数组 
                    strs = kb.split(","); //字符分割 

                    for (i = 0; i < strs.length; i++) {
                        if (strs[i] == kbDom1.value && strs[i] != ‘‘) {
                        
                            document.getElementById(‘toubiao‘).style.display = "";
                            showUnReadMsgCount();
                        }

                    }

                }
            });
        JS.Engine.start(‘conn‘);
        JS.Engine.on(‘start‘, function(cId, channelList, engine) {

        });
    }
    init();
</script>
<script>
    function showUnReadMsgCount(){
        if($("#isLogin").val() === "true"){
            $.ajax( {
                url : ctx + "/admin/getUnReadMsgCount.do",
                type : "post",
                dataType : "json",
                success : function(data) {
                    var count = data[0];
                    if(count == 0){
                        return;
                    }
                    $("#unReadCount").html("<span></span><a href=‘"+ctx+"/admin/receiveList.do‘ style=‘font-weight:700;‘>未读消息<label>"+count+"</label></a>");
                }
            }); 
        }
    };
</script>
bubuko.com,布布扣

 

 

 

web.xml中配置

bubuko.com,布布扣
    <!-- comet4j start 
    <listener>
        <listener-class>org.comet4j.core.CometAppListener</listener-class>
    </listener>
    <servlet>
        <display-name>CometServlet</display-name>
        <servlet-name>CometServlet</servlet-name>
        <servlet-class>org.comet4j.core.CometServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>CometServlet</servlet-name>
        <url-pattern>/conn</url-pattern>
    </servlet-mapping>

    <listener>
        <description>Comet4jMsgListener</description>
        <listener-class>com.tenchong.util.Comet4jMsgListener</listener-class>
    </listener>
    comet4j end -->
bubuko.com,布布扣

 

 

 

comet4j实现web消息推送,布布扣,bubuko.com

comet4j实现web消息推送

原文:http://www.cnblogs.com/qsl568/p/3656633.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!