comet4j的使用

1导包   comet4j-tomcat7.jar    ,我用apache-tomcat-8.0.32也能用

tomcat要修改的内容 server.xml,  

如果要配置host, 配完要额外添加一个name="localhost" 的host标签,不然tomcat会报

<pre name="code" class="html"><pre name="code" class="html">2013-6-2 11:29:32 org.apache.coyote.http11.AbstractHttp11Processor process
严重: Error processing request
java.lang.NullPointerException
        at org.apache.tomcat.util.buf.CharChunk.append(CharChunk.java:355)
        at org.apache.tomcat.util.http.mapper.Mapper.map(Mapper.java:673)
        at org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAd
apter.java:646)


 

 

独立的host    <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"></Host>

  <Connector connectionTimeout="20000" 
	port="8080" 
	protocol="org.apache.coyote.http11.Http11NioProtocol" 
        maxThreads="512"
        minSpareThreads="16"
        maxSpareThreads="32"
        enableLookups="false"
        acceptCount="512"
	redirectPort="8443"
/>


2.web.xml 配置

<!--   comet4j服务器推送 不兼容 -->
  <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>
<!--   js与后台建立连接的servlet,路径要写对,相对页面注册配置的路径 这里使用根目录文件里配有的/conn -->
  <servlet-mapping>
<servlet-name>CometServlet</servlet-name>
<url-pattern>/conn</url-pattern>
  </servlet-mapping>
<!--   初始化comet4j 自己写的实现类看下面  -->
  <listener>
    <listener-class>com.MyComet4jListener</listener-class>
  </listener>


3.实现类

package com;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

/**
 * 初始化comet
 */
public class MyComet4jListener implements ServletContextListener{

	@Override
	public void contextDestroyed(ServletContextEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void contextInitialized(ServletContextEvent arg0) {
		CometContext cc = CometContext.getInstance();
                cc.registChannel("toUserWeb");//注册,js中的名字一致
	}

}


4.导js     comet4j.js

接着在页面注册 这里在根目录配置和上面的/conn的位置匹配

$(function(){
    JS.Engine.start('conn');
    JS.Engine.on({//后台推送频道
    	toUserWeb : function(data){
    		
    		//js操作
    		
        }
    });
}


5.类方法主动调用  toUserWeb


CometEngine engine = CometContext.getInstance().getEngine();

map=new HashMap();
engine.sendToAll("toUserWeb", map);//传送到网页,传参 页面会作响应




  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值