您好,欢迎光临本网站![请登录][注册会员]  
文件名称: DWR 新技术VIsesj
  所属分类: 其它
  开发工具:
  文件大小: 14kb
  下载次数: 0
  上传时间: 2011-08-15
  提 供 者: b778*****
 详细说明: 1.为什么使用 Comet?   轮询方法的主要缺点是,当扩展到更多客户机时,将生成大量的通信量。每个客户机必须定期访问服务器以检查更新,这为服务器资源添加了更多负荷。虽然可以通过增加轮询的时间间隔来减轻服务器负荷,但是这种方法会产生不良后果,即延迟客户机对服务器事件的感知。当然,很多应用程序可以实现某种权衡,从而获得可接受的轮询方法。   尽管如此,吸引人们使用 Comet 策略的其中一个优点是其显而易见的高效性。客户机不会像使用轮询方法那样生成烦人的通信量,并且事件发生后可立即发布给客户机。但是保持长期连接处于打开状态也会消耗服务器资源。当等待状态的 servlet 持有一个持久性请求时,该 servlet 会独占一个线程。这将限制 Comet 对传统 servlet 引擎的可伸缩性,因为客户机的数量会很快超过服务器栈能有效处理的线程数量。 2.概念介绍 短轮询(polling) :核心思想是客户端定时去服务器取消息。为了实现即时效果,轮询的间隔必须设计得足够短,另外为了操作的流畅,需要使用Ajax 来发送请求。本人的QGYWebIM 就是采用的此方案。这种方案的优点是:后端程序编写比较容易,发送完响应信息马上断开连接,不会占用 太多服务器资源。缺点是一般情况下,频繁的请求中有大半是无用,这些冗余请求无形中浪费了带宽和服务器资源。我们可以通过判断用户的活跃程度来决策请求服务器的间隔,我在 51 的一个帖子提到过这种方法,但是间隔一旦长了,消息的传送就有延时,违背了即时聊天的初衷了。 长轮询(long- polling) :基本原理是客户端向服务器发送请求,服务器接到请求后hold 住连接,直到有新消息才返回响应信息并关闭连接,连接被断开期间用户的新信息会被服务器缓存起来。客户端处理完响应信息后再向服务器发送新的请求。这种做法的优势是如果用户一直没新消息,客户端不会频繁的轮询去服务器取消息,节省了流量,但是服务器维持长连接是很消耗资源的。具体实现起来,前端这边基本不需要什么改动,依然是用Ajax 轮询取信息,后端需要在没有新消息时处理一下。 长连接(streaming) :其实很早以前就有人使用这种技术来实现聊天室的通讯。以前在页面中嵌入一个 iframe ,iframe 里放一个使用长连接页面,服务器有新消息就会及时的在iframe 里反映出来,再依靠客户端的脚本解析出来就OK 了。这样做一个比较严重的问题是:使用iframe 请求长连接时,无论是IE 还是firefox 都会认为页面没有加载完而显示进度条,很难看。不过这个问题是可以解决的。firefox 支持了Streaming Ajax ,在readyState 为3 的时候就能接受数据,所以问题不大;IE 则只能在readyState 为4 ,即连接断开时才能得到返回值。但是伟大的Google 工程师使用了一个hack 成功的解决了这个问题:使用一个被称为“htmlfile ”的ActiveX ,把iframe 放在这个 ActiveX 里就OK 了。 ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: DWR
 输入关键字,在本站1000多万海量源码库中尽情搜索: