数据推送之comet4j遇到的405错误信息

这两天了解了一下关于服务器推送的问题,在网上查了不少,相比之下comet4j比较符合本身的要求,即在http://code.google.com/p/comet4j/wiki/HelloWorld上下载了一个demo.并按相关的要求进行了配置。 下面说一下期间遇到的一个问题吧: web

demo部署好后,进行访问出现以下图的问题:apache

刚看到405错误的时候,按照习惯立马就想到是否是doget或dopost没有写呢? 可是查看web.xml的时候发现不请求的是对tomcat支持的一个jar包。可是想一想jar不会出现这么低级的错呀.因而就开始分析配置。跨域

从头开始提及吧.由于comet4j是在new IO方式下工做的,因而加入了tomcat

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

由于加入的配置中port=8080,而tomcat用的也是8080,致使启动tomcat时port冲突报错。因而改了tomcat的端口为8888,tomcat能够正常启动,页面也能够正常访问,但报上面的错误.因而就想为何会报405异常呢? 就这样捣了半天,仍是没解决,放置了一天没去管,但但想一想仍是不甘心.今天终于解决了。服务器

由于那段错误,走了条弯路.总想着多是jar包问题.其实已经很明确的说明了问题源.也就是端口,个人tomcat端口是8888,配置的comet4j是在8080,那么咱们访问的时候也应该访问8080.故我就当独将报错的那段url的端口改为8080改去访问,可以返回数据.呃...这就怪了,一反映就是 是否是跨域了呢?可是他们是在一个项目里面呀,怎么会出现跨域呢?再三的思索,comet4j的工做方式.噢、忽然豁然开朗,既然用的是new io还配置了单独的端口,那么访问项目时的端口直接8080不就得了吗? 一测试,果真是这样。因此在comet4j中项目工做时访问的端口是comet4j配置的端口,而不是tomcat服务器的端口。post

哈... 终于解决了,归根仍是因为本身没有理解comet4j的工做方式. demo解决了,如今就等着在实际项目中用了.测试

相关文章
相关标签/搜索