辛星浅析php中coment技术的实现
来源:互联网 发布:新浪软件 编辑:程序博客网 时间:2024/06/02 07:22
第一,何谓推送技术
随着人们对web越来越熟悉,人们希望web应用可以像本地应用一样可以实时的接收消息,于是也就有了所谓的"推送技术"。也就是我们所说的Server Push,也就是"服务器推技术",它的典型范例就是聊天、消息提醒、交友网站中使用比较频繁,成为实时应用中的一个热点问题。
第二,传统实现(拉取技术)
有一个很类似的实现机制,也就是传统的ajax,它是每隔一段时间去服务端拉取一次信息,但是这种方式会特别消耗资源。它需要时时刻刻去问服务器是否可以请求到数据,而且实时性很差,因为我们通常是过一段时间去请求一次数据的。
第三,另一种实现(推送技术)
显然使用定时拉取的方式是可以的,但是它会特别消耗服务器资源,因此我们需要另一种实现方式,它就是我们所说的推送技术,其实它只是看上去有点像推送技术,它在实质上仍然是一次拉取,只是这次拉取的时间变得很长很长,服务器端可以不断的吐出东西来。
下面是三种常见的实现技术:
(1)ajax长轮询。所谓ajax长轮询,它的本质仍然是一次拉取,它也是一种很不错的push实现方式,它会那种ajax短轮询会减少很多不必要的请求,因此它不论在开销还是在实时性上,都更好一些。它的实现机制是客户端发起一个ajax请求,服务端将请求搁置起来,直到到了超时时间或者说有了数据后返回,而客户端则等待ajax返回后处理数据,然后发起下一个ajax请求。
(2)使用frame长连接。对于框架下的长连接,最大的一个问题就是如果框架在载入,那么浏览器就好像一直显示"载入中",处理问题上不如不适用frame方便。
(3)使用flash或者html5 websocket,不过这两种的支持均不是特别特别靠谱,因为总是面临用户的浏览器不支持的情况,此时我们应该回退到更加兼容和大众的技术上去实现。
(4)使用经典框架,其实我们需要遇到的问题,早就有很多人已经遇到并且解决了,我们首先需要知道的是他们是如何解决这些问题的,然后我们才能提出更优秀的解决方案。
最后,附上ibm的一篇文章,传送门:http://www.ibm.com/developerworks/cn/web/wa-lo-comet/
- 辛星浅析php中coment技术的实现
- 浅析php中实现多线程~
- 浅析php中实现多线程~
- 浅析php中实现多线程
- 浅析php中实现多线程~
- 浅析PHP中cookie与session技术
- 编程设计:PHP 5中多态性的实现方案浅析
- 编程设计:PHP 5中多态性的实现方案浅析
- PHP 5.0中多态性的实现方案浅析
- PHP 5.0中多态性的实现方案浅析
- PHP 5.0中多态性的实现方案浅析
- PHP中$_SERVER的浅析
- 浅析PHP Socket技术
- 浅析PHP绘图技术
- 浅析dalvik虚拟机JIT技术的实现
- 浅析dalvik虚拟机JIT技术的实现
- 浅析dalvik虚拟机JIT技术的实现
- 浅析dalvik虚拟机JIT技术的实现
- Unity3D Quaternion各属性和函数测试
- java 接口和抽象类
- 天声人語 20150827
- 流式布局之等比列缩放的盒子。
- python-sqlite3模块
- 辛星浅析php中coment技术的实现
- 让360、QQ等国产浏览器自动启用chrome内核模式
- asp.net mvc4 添加分区出现错误 找到多个与名为“home”的控制器匹配的类型
- ExtJS中xtype一览
- php trim()函数
- Hibernate 返回结果list对象
- 2015.6.9(zookeeper角色)
- Visual C++ 64 位迁移的常见问题
- [笔试]线程共享和独有的资源