关于dwr长连接的问题

问题描述

我做了一个只有一个页面的简单的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,但是失败,有没有好的办法看不到状态栏刷新的效果并且选项卡的图标不让其刷

解决方案

解决方案二:
帮你顶一下
解决方案三:
帮顶一下
解决方案四:
把web.xml和dwr.xml文件内容帖出来看看.
解决方案五:
引用3楼fengzhisha0914的回复:

把web.xml和dwr.xml文件内容帖出来看看.

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><createcreator="new"javascript="BubbleRemindUtil"scope="session"><paramname="class"value="message.util.BubbleRemindUtil"/></create><convertconverter="bean"match="basic.BasicAffiche"><paramname="exclude"value="afficheDate,afficheAuditDate"/></convert></allow>
解决方案六:
???我也在做网页即时聊天,不过没有出现你的那种情况我做的群聊可以“推”成功,没有什么问题。但是如何实现点对点单聊,就不好处理了~正在学习中~
解决方案七:
dwr框架会给每个页面生成一个scriptsession对象,要通过这个对象实现点对点聊天

时间: 2024-08-24 16:54:10

关于dwr长连接的问题的相关文章

有了解 Ext.XTemplate 和 DWR 长连接 的吗 ?来帮我看下几个问题

问题描述 dwr.xml 部分<dwr> <allow> <create creator="spring" scope="application" javascript="Chat"> <param name="beanName" value="messageAction" /> </create> <convert converter=&q

关于dwr消息推送长连接问题

问题描述 如何维护dwr的长连接,如果重启tomcat不想刷新页面,如何建立与dwr的长连接呢? 问题补充:aronlulu 写道 解决方案 引用怎么检查dwr的长连接是否断开啊? 直接默认一段时间没响应就算断开啊.解决方案二:引用我现在 准备用js轮询服务器,但是在tomcat关闭的时候没有想到判断当前连接已经断开的方式,js轮询服务器采用的是ajax的方式,server端不能回应(tomcat关闭时),导致ajax请求有去无返,也就无法取得连接状态. ajax不是有timeout的设置么,超

Web 通信 之 长连接、长轮询(long polling)

基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性. 一.什么是长连接.长轮询? 用通俗易懂的话来说,就是客户端不停的向服务器发送请求以获取最新的数据信息.这里的"不停"其实是有停止的,只是我们人眼无法分辨是否停止,它只是一种快速的停下然后又立即开始连接而已. 二.长连接.长轮询的应用场景 长连接.长轮询一般应用与WebIM.ChatRoom和一些需要及时交互的网站应用中.其真

长连接-c#腾讯企业邮箱二次开发实现新邮件提醒

问题描述 c#腾讯企业邮箱二次开发实现新邮件提醒 新邮件提醒,需要维持长连接,图片是API文档关于长连接的描述, 但是我获取到token,传入参数ver=0,返回错误,无效的请求,有做过这个功能的吗,求助啊!! private bool GetPostData(string url, string pars, ref string json) { System.GC.Collect(); //url=请求的地址,pars= "var=0" string ret = "&quo

利用socket长连接做信息报警提示

问题描述 利用socket长连接做信息报警提示 现在在做一个项目,需要用服务器推送技术做一个报警提示,就是只要有没有处理的信息显示,就自动报警

php长连接,奏是这么简单

说到长链接大家肯定不陌生,就是复用一个链接持续不断的进行数据交互,它不像那些一夜情似的服务,需要频繁的打开和关闭链接,效率低的同时还增加了业务的复杂度.在裆下很多互联网业务场景都需要长连接的支持,比如:游戏.聊天.信息推送等等等,今天我们就一步一步来揭秘php长连接的玩法.我相信任何一项技术的实施都是因为业务场景的需要,所以这次我们还拿聊天室说事儿. 0x00 初试牛刀 记得以前用php写聊天室还是用polling的方式,毫无疑问,一提到polling,肯定会有人说long polling,没错

Delphi中多进程解决datasnap支持的tcp长连接数量少的问题

对于实时采集数据的项目,应用场景比如是这样的:5000客户端,每个客户端每隔500MS要给服务器上传一次数据. 大家知道,像INDY这种阻塞型的通信控件,所能支持的TCP长连接的一般地不能超过1000的数量(如果想要维持稳定运行的话). 原因是大家都晓得的,阻塞方式会为每一个SOCKET连接创建一个新的线程为之服务,而WINDOWS单个进程理论上允许最多的线程数量是2048个, 实际当中要少得多才行. 有人说可以用WINDOWS的IOCP通信模型解决,诚然!但IOCP编程过于复杂. 有人说,可以

使django与数据库保持长连接

最近遇到一个很蛋疼的问题,写了一个后台管理系统, 由于是后台管理系统 ,所以使用频率不是很高,当django程序在闲置一段时间后,再次打开后台系统 ,就变得很慢,然后又好了.查了很多方面,从模板引擎到请求(request),再到 django配置,nginx等等,都没有查出原因.虽然也查过是不是数据库的原因,但 都因为查的不够深入,没有查出所以然. 有一次在处理权限问题时,不断地追朔源代码,由于我使用的是dbroute来控 制权限,最后定位到了这个db(具体目录:/usr/local/lib/p

基于流模式长连接的简单实现

基于流模式的长连接我们可以做很多事情,比方说在局域网内,我们建立这种模式,可以时时传输数据,而不用每次传输数据是创建socket,传输完后,关闭socket.可以减少创建销毁socket的时间. 基于流模式的下,数据一直在发送,我们需要知道,每次发送数据量,所以常见的方式时,我们在发送数据时,指定此次发送数据的长度,服务器读取流数据时,先读取数据长度,然后再按长度读取此次发送的数据. 我使用select复用IO机制实现了一个简单的client,server机制,希望对初学者有帮助 客户端代码: