HTML5技术

HTML5服务器推送消息的各种解决办法 - 清水栞(2)

字号+ 作者:H5之家 来源:H5之家 2016-05-10 11:00 我要评论( )

); // 连接服务器 ws.onopen = function (+ this .readyState); };ws.onmessage = function (+ event .data); };ws.onclose = function (+ this .readyState); };ws.onerror = function (); }; 还可以通过send的方

); //连接服务器 ws.onopen = function (+ this.readyState); }; ws.onmessage = function (+ event.data); }; ws.onclose = function (+ this.readyState); }; ws.onerror = function (); };

还可以通过send的方式发送消息

ws.send();

WebSocket具有较为复杂的协议,需要在服务端做额外编程才能进行数据通讯。有关协议的详细内容,我会在以后的文章中进行解释。

 

WebSocket + MessageQueue

MessageQueue,简称MQ,也就是消息列队。是一种常常用于Tcp服务端的技术。通过生产和访问各种消息类型,MQ服务器会将生产者所生成的消息发给感兴趣的客户端。市面上有很多的MQ框架,比如:ActiveMQ。

ActiveMQ已经支持了WebSocket协议,也就意味着,WebSocket已经可以作为一个生产者或一个消费者,与MQ服务器连接。

开发者可以通过MQTT的JS脚本,连接上MQ服务器,同时将Web服务器也连上MQ服务器,从此可以告别了Http通讯协议,完完全全使用Socket通讯来完成数据的交换。

 

 

总结:

总得来说,在HTML5规范下,最推荐使用ServerSent和WebSocket的方式进行服务器消息的推送。

对比这两种方式。

ServerSent的方式,可以使服务端的开发依然依用以前的方式,但是其工作方式与Comet类似。

而WebSocket的方式,则对服务端的开发有着较高的要求,但其工作方式是完全的推送。

我本人其实挺偏向WebSocket + MQ的工作方式,但是对于老项目的翻新,还是用SeverSent比较好

 

结尾

本文为作者原创,转载请注明出处:

文章中的相关代码可以在  中的ServerSent目录中查看

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • HTML5 进阶系列:拖放 API 实现拖放排序 - _林鑫

    HTML5 进阶系列:拖放 API 实现拖放排序 - _林鑫

    2017-05-02 11:02

  • HTML5 进阶系列:indexedDB 数据库 - _林鑫

    HTML5 进阶系列:indexedDB 数据库 - _林鑫

    2017-04-27 14:02

  • HTML5 高级系列:web Storage - _林鑫

    HTML5 高级系列:web Storage - _林鑫

    2017-04-27 14:01

  • HTML5和CSS3 - 奔跑在起跑线佼佼者

    HTML5和CSS3 - 奔跑在起跑线佼佼者

    2017-04-20 13:00

网友点评