关于dwr长连接的问题

gaoda_123 2010-08-11 07:37:57
我做了一个只有一个页面的简单的dwr即时聊天程序,在此页面里的onload里加入了dwr反转的代码dwr.engine.setActiveReverseAjax(true);,问题出现了,如果不加此代码一切正常,加了之后页面就会不停的请求后台,ie的状态栏上的进度条一直保持与服务器连接状态,而且选项卡上的ie图标也不停的刷,等一次连接完了紧接着又练一次,无限循环,我后来在web.xml里加了dwr的初始化配置<param-name>timeToNextPoll</param-name><param-value>30000</param-value>之后,30秒钟连接一次,之前自己想出了一个办法但是不行,就是发送消息时把setActiveReverseAjax置为true,等消息接收完后再置为false,但是失败,有没有好的办法看不到状态栏刷新的效果并且选项卡的图标不让其刷
...全文
387 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tt228117 2010-11-26
  • 打赏
  • 举报
回复
dwr框架会给每个页面生成一个scriptsession对象,要通过这个对象实现 点对点聊天
LeeJah163 2010-11-25
  • 打赏
  • 举报
回复
??? 我也在做网页即时聊天,不过没有出现你的那种情况
我做的群聊可以“推”成功,没有什么问题。但是如何实现点对点单聊,就不好处理了~ 正在学习中~
gaoda_123 2010-08-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fengzhisha0914 的回复:]
把web.xml和dwr.xml文件内容帖出来看看.
[/Quote]

1】web.xml的dwr配置
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>activeReverseAjaxEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>pollAndCometEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>initApplicationScopeCreatorsAtStartup</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>maxWaitAfterWrite</param-name>
<param-value>500</param-value>
</init-param>
<init-param>
<param-name>org.directwebremoting.extend.ServerLoadMonitor</param-name>
<param-value>org.directwebremoting.impl.PollingServerLoadMonitor</param-value>
</init-param>
<init-param>
<!-- <param-name>disconnectedTime</param-name>
<param-value>30000</param-value> -->
<param-name>timeToNextPoll</param-name>
<param-value>30000</param-value>
</init-param>
<init-param>
<param-name>maxCallCount</param-name>
<param-value>1000</param-value>
</init-param>
<init-param>
<param-name>scriptSessionTimeout</param-name>
<param-value>1800000</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
2】dwr的配置
<allow>
<create creator="new" javascript="BubbleRemindUtil" scope="session">
<param name="class" value="message.util.BubbleRemindUtil"/>
</create>
<convert converter="bean" match="basic.BasicAffiche">
<param name="exclude" value="afficheDate,afficheAuditDate"/>
</convert>
</allow>
shanxmxj 2010-08-26
  • 打赏
  • 举报
回复
帮顶一下
cml244 2010-08-26
  • 打赏
  • 举报
回复
帮你顶一下
pf0914 2010-08-26
  • 打赏
  • 举报
回复
把web.xml和dwr.xml文件内容帖出来看看.

67,514

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧