Web PUSH技术

参考:

http://www.ibm.com/developerworks/cn/web/wa-lo-comet/ 讲CMET的

http://www.cnblogs.com/zhaozhan/archive/2010/09/08/1821834.html  Flash XMLSocket实现

目前两类解决方案:

  • 1 基于套接口:浏览器安装插件,RMI、CORBA
  • 2 基于HTTP长连接:无须浏览器安装插件
1 基于套接口:
1.1 Flash XML Socket

这个XML Socket是Flash提供的,所以页面部分的JavaScript得需要跟Flash配合,即跟Flash的AS配合。

AFLAX技术(Asynchronous Flash and XML):构建充当了 JavaScript 与 Flash XMLSocket 桥梁的 Flash 程序,以及如何在 JavaScript 里调用 Flash 提供的接口

缺点:

  • 客户端需要安装Flash
  • XML Socket无HTTP隧道功能,不能穿过防火墙
  • 套接口得支持
1.2 Java Applet

java applet与服务端建立连接,但不能在收到服务端信息后通过javaScript技术去更新HTML页面。

2 HTTP长连接

以下是两种Comet技术的实现模型:

2.1 AJAX长轮询方式

在 JavaScript 里处理 XMLHttpRequest 从服务器取回的数据,然后 Javascript 可以很方便的去控制 HTML 页面的显示。异步,而且客户端可以和服务端持续沟通,

使用 AJAX 实现“服务器推”与传统的 AJAX 应用不同之处在于:

  • 服务器端会阻塞请求直到有数据传递或超时才返回。
  • 客户端 JavaScript 响应处理函数会在处理完服务器返回的信息后,再次发出请求,重新建立连接。
  • 当客户端处理接收的数据、重新建立连接时,服务器端可能有新的数据到达;这些信息会被服务器端保存直到客户端重新建立连接,客户端会一次把当前服务器端所有的信息取回。

优点:

  • 请求异步发出;
  • 无须安装插件,IE、Mozilla FireFox 都支持 AJAX。
2.2 iframe及htmlfile的流方式

在 HTML 页面里嵌入一个隐蔵帧,然后将这个隐蔵帧的 SRC 属性设为对一个长连接的请求,服务器端就能源源不断地往客户端输入数据。

iframe 服务器端并不返回直接显示在页面的数据,而是返回对客户端 Javascript 函数的调用,如

    “<script type="text/javascript">js_func(“data from server ”)</script>”。

服务器端将返回的数据作为客户端 JavaScript 函数的参数传递;客户端浏览器的 Javascript 引擎在收到服务器返回的 JavaScript 调用时就会去执行代码。

缺点:

  • IE、Morzilla Firefox 下端的进度栏都会显示加载没有完成,而且 IE 上方的图标会不停的转动,表示加载正在进行。Google使用一个称为“htmlfile”的 ActiveX 解决了在 IE 中的加载显示问题。
3 Comet开源框架:Pushlet
3.1 观察者模型

http://www.cnblogs.com/java-my-life/archive/2012/05/16/2502279.html

Demo:test.java

3.2 

http://www.pushlets.com/

Demo:test_maven_web.tar.gz


4 wap push技术

参考:

http://blog.oasisfeng.com/2013/04/14/dirty-secret-behind-weixin-charge-gate/

http://blog.csdn.net/thl789/article/details/7704127

http://blog.csdn.net/thl789/article/details/7704527

http://blog.csdn.net/thl789/article/details/7705494

http://blog.csdn.net/thl789/article/details/7284383

参考1 提到微信占用信令的时,提到wap push,即短信业务的基础。

参考2 3 4分别讲述了Android中对于wap push的PDU封装、编码、解析情况。

参考5则描述接收SMS的情况,实际上开一个RILReceiver线程来循环监听。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值