禾小草 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 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?