Chinaunix首页 | 论坛 | 博客
  • 博客访问: 95393
  • 博文数量: 109
  • 博客积分: 3411
  • 博客等级: 中校
  • 技术积分: 1155
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-01 09:04
文章分类

全部博文(109)

文章存档

2011年(109)

分类: 系统运维

2011-07-15 16:30:46

MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0


1.HTTP拉取方式: 在这种传统的方法中,客户端以用户可定义的时间间隔去检查服务器上的最新数据。这种拉取方式的频率要足够高才能保证很高的数据精确度,但高频率可能会导致 多余的检查,从而导致较高的网络流量。而另一方面,低频率则会导致错过更新的数据。理想地,拉取的时间间隔应该等于服务器状态改变的速度。

  2.HTTP流:这种方法由存在于不间断的HTTP连接响应中或某个XMLHttpRequest连接中的服务器数据流所组成。

  3.反转AJAX: 服务流应用到AJAX,就是所谓的反转AJAX 或者COMET 。它使得服务器在某事件发生时可以发送消息给客户端,而不需要客户端显式的请求。目标在于达到状态变化的实时更新。COMET使用了HTTP/1.1中的 持续连接的特性。通过HTTP/1.1,除非另作说明,服务器和浏览器之间的TCP连接会一直保持连接状态,直到其中一方发送了一条明显的关闭连接的 消息,或者有超时以及网络错误发生。

  4.长时间轮询: 也就是所谓的异步轮询,这种方式是纯服务器端推送方式和客户端拉取方式的混合。它是基于BAYEUX协议的。这个协议遵循基于主题的发布——订阅机制。在 订阅了某个频道后,客户端和服务器间的连接会保持打开状态,并保持一段事先定义好的时间。如果服务器端没有事件发生,而发生了超时,服务器端就会请求客户 端进行异步重新连接。如果有事件发生,服务器端会发送数据到客户端,然后客户端重新连接。

  在他们的实验性研究中,作者们在一个利用COMET推送方式实现(DojoCometd)AJAX应用和一个纯拉取方式的应用之间,对数据一致性、服务器性能、网络性能以及数据遗失进行了比较。
 


阅读(328) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~