需要完成的需求:
定时推送一条消息到客户端,如果用户接收到了该条消息则给服务器一个反馈。且显示每条消息的到达率。
用到的第三方服务:
GoEasy推送
JAVA Web实时消息后台服务器推送技术
实现思路:
1. 首先创建一个scheduler并且设置触发频率。
2. 在scheduler的execute方法里,通过GoEasy来推送指定消息。
通过RESTFul API来进行推送:
Url: https://goeasy.io/goeasy/publish
Method: Post
Parameters:
appkey: ba821151-e043-4dfb-a954-c73744c8d323 (这个key是goeasy demo的key,如果自己要用,需要自己从goeasy官网上获得。 官网地址: goeasy.io)
channel:news
content:我是一个兵,来自老百姓。
执行完后,如果返回值是200,那么说明推送成功。
如果是java用户,那么更加简单了,它们提供了一个JAVA SDK, 推送只需要两句代码:
一是初始化goeasy对象,二是调用publish方法
3. 客户端成功收到消息后,给服务器发送一个请求告知已经成功接收到消息。
用goeasy来实现客户端的接收,步骤也很简单:
3.1. 引入goeasy.js
3.2. 连接goeasy
3.3. 调用subscribe函数来实现订阅和接收。
3.5. 在subscribe函数的回调函数 onSuccess里来发送请求到后台告知已经成功接收到信息。
4. 最后计算消息的到达率。
成功接收数据/总的推送数量 *100
更多的关于goeasy的使用,请参考博客:http://www.cnblogs.com/jishaochengduo/articles/5552645.html