消息推送(一)Comet介绍

本文详细介绍了B/S架构中服务器如何实现消息推送,包括基于HTTP长连接的服务器推技术,如Comet(streaming、long-polling)以及传统ajax轮询。通过实例代码展示了polling、streaming、iframe-streaming和long-polling的工作原理,探讨了WebSocket作为未来方向的可能性。文章适合对服务器推技术感兴趣的读者。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

转载请注明:小林博客 » 消息推送(一)Comet介绍

这篇文章主要讲述B/S架构中服务器“推送”消息给浏览器。内容涉及ajax论询(polling),comet(streaming,long polling)。后面会附上源代码。

小林最近在工作有这么一个需求,需要在门户首页获取服务器“推送”过来的消息,像小林这种菜鸟,一般首先想到的是用ajax。本着好奇的精神,到网上查了一下,相关方面的知识,收获还真不小,于是就记录下分享给大家。

一般要实现网页的消息提醒,不外乎两种情况(小林想当然的):

  1. 客户端主动定时的去拿服务器端,有消息就提醒(polling);
  2. 服务器主动"推送"消息给客户端,这里说的主动推送,并不是真的,而是客户端申请了需要显示消息提醒的信息,而服务端暂时没给客户端答复,把请求hold住了。。(comet)。
"服务器推"推技术简介
基于HTTP长连接的"服务器推"技术
  • 基于html file流(streaming,浏览器不兼容)
  • iframe streaming(streming的扩展,浏览器兼容)
  • 基于ajax长轮询(long-polling,浏览器兼容)
基于客户端套接口的"服务器推"技术
  • Flash XML Socket
  • Java Applet 套接口这两种都不是我们这篇文章要说的主题,而且小林也没往这方面研究,因为,偶的应用是跑在weblogic的j2ee程序。
示例环境

eclipse+tomcat

struts1.3+jsp+jquery

本代码中所有示例都是在eclipse+tomcat下运行通过的,浏览器使用ie9+chrome进行测试,运用了struts+jquery框架,来辅助实现。如果你熟悉strust的配置,可以跳过下面,直接看polling

web.xml的配置
<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">    <display-name>test</display-name>    <servlet>        <servlet-name>action</servlet-name>        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>        <init-param>            <param-name>config</param-name>            <param-value>/WEB-INF/struts-config/struts-config-push.xml</param-value>        </init-param>    </servlet>    <servlet-mapping>        <servlet-name>action</servlet-name>        <url-pattern>*.do</url-pattern>    </servlet-mapping>    <welcome-file-list>        <welcome-file>index.html</welcome-file>    </welcome-file-list></web-app>


新建/WEB-INF/struts-config/struts-config-push.xml加入如下内容struts的配置
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Found
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值