禾小草 2017-11-13 13:50 采纳率: 0%
浏览 814
已结题

Comet4 HelloWorld示例无法运行

在网上看的一个小例子!照着写既然运行不起来

tomcat 设置

   <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
               connectionTimeout="20000"
               redirectPort="8443"   URIEncoding="UTF-8" />

java 代码

 import org.comet4j.core.CometContext;
import org.comet4j.core.CometEngine;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class HelloWorld implements ServletContextListener {
    private static final String CHANNEL ="hello";
    public void contextInitialized(ServletContextEvent arg0){
        CometContext cc =CometContext.getInstance();
        cc.registChannel(CHANNEL);//注册应用的channel
        Thread helloAppModule =new Thread(new HelloAppModule(),"Sender App Module");
        helloAppModule.setDaemon(true);
        helloAppModule.start();

    }

    class HelloAppModule implements Runnable{
        public void run(){
            while(true){
                try{
                    Thread.sleep(1000);
                }catch(Exception ex){
                    ex.printStackTrace();
                }
                CometEngine engine =CometContext.getInstance().getEngine();
                engine.sendToAll(CHANNEL,Runtime.getRuntime().freeMemory()/1024);
            }
        }
    }

web.xm配置

    <listener>
        <description>Comet4Jlistener</description>
        <listener-class>org.comet4j.core.CometAppListener</listener-class>
    </listener>
    <servlet>
        <description>org.comet4j.core.CometServlet</description>
        <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>/webpage/main/conn</url-pattern>
    </servlet-mapping>
    <listener>
        <description>HelloWorld</description>
        <listener-class>weixin.listener.HelloWorld</listener-class>
    </listener>

js

       <script type="text/javascript" src="plug-in/comet/comet4j.js"></script>
         <script typescripttype="text/javascript">
             $(function () {
             function init(){
                     var kbDom = document.getElementById('kb');
                     JS.Engine.on({
                         hello :function(kb){//侦听一个channel
                             kbkbDom.innerHTML = kb;
                             alert(kb)
                         }
                     });
                     JS.Engine.start('conn');
                 }
             })

         </script>

客户端页面位置
webapp-->main->home.jsp
comet4j-tomcat7.jar 有导入 求助啊

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-11-13 14:32
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘