Piggyback

基于dwr2.0的Push推送技术详细解析以及实例

£可爱£侵袭症+ 提交于 2019-12-22 14:29:55
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> DWR从2.0开始增加了push功能,也就是在异步传输的情况下可以从Web-Server端发送数据到 Browser. 我们知道,Web的访问机制天生是设计用来pull数据的,也就是只允许Browser端主动发起请求,server 是被动的响应.不允许Server向Browser发出一个connection请求,也就是说没有为server向Browser push数据提供设计实现. 虽然没有直接的实现方法,却可以使用一些变通的方式完成类似的功能: 1. Polling Polling其实就是轮询,是通过Browser在一个相对短的间隔时间内,反复向Server发出请求,然 后更新页面,这种方式没有什么新鲜的,只是需要浏览器端做一些工作就可以,哪怕没有太多服务器端的配 置也没问题.轮询的方式对于服务器来说会依据不同的访问间隔而产生不同程度的额外负载,因为每次访 问都有重新建立连接的过程. 2. Comet Comet方式通俗的说就是一种长连接机制(long lived http).同样是由Browser端主动发起请 求,但是Server端以一种似乎非常慢的响应方式给出回答,这样在这个期间内,服务器端可以使用同一个 connection把要更新的数据主动发送给Browser.Comet又有很多中实现方式