1.背景介绍
1.1 功能需求介绍
(1)最近在实现一个功能,在web浏览器中,A用户给B用户发送一个请求(也可以说是通知或者推送),比如以弹出窗口,弹出对话框,或站内通知等方式。
(2)B用户收到A发送的请求,并作出处理和回馈,
(3)A还会收到B处理行为后的再通知信息。
1.2 功能需求分析
对于以上功能来说,实际上就是客户端A与客户端B发送和接收推送数据的一个过程。
1.3 技术选择
1.3.1 WEB消息推送框架web-msg-sender
一、优势:
(1)对于web浏览器端的推送技术来说,Workerman旗下的WEB消息推送框架——web-msg-sender是个很不错的选择。
(2)web-msg-sender是一款web长连接推送框架,采用PHPSocket.IO开发,基于WebSocket长连接通讯,如果浏览器不支持WebSocket则自动转用comet推送。 通过后台推送消息,消息可以即时推送到客户端,非轮询,实时性非常好,性能很高。
(3)而且选择web-msg-sender 还有一个优点,那就是,它是开源框架,基于开源框架进行二次开发,可以保证核心技术的掌控性。
二、不足:
(1)但是web-msg-sender的不足是,企业需要针对框架进行一个安全性功能的开发,对于发信息的会员用户以及发信息的推送操作都需要进行安全性的鉴别与保护功能的开发,否则容易出现盗用他人名义发送推送,以及推送骚扰等情况的产生。
(2)由于公司目前时间和人力都不允许为安全性的开发提供更多的投入,所以只好放弃这个框架的选择。
1.3.2 GoEasy云服务
GoEasy云服务是成都小悍云计算有限公司提供的一个web消息推送平台,操作非常简单,而且提供了GoEasy-OTP(One-time password