SSM项目使用GoEasy 实现web消息推送服务(转载,亲测可用)

一、背景

  之前项目需要做一个推送功能,最开始我用websocket实现我的功能。使用websocket的好处是免费自主开发,但是有几个问题:1)浏览器的兼容问题,尤其是低版本的ie2)因为是推送,相当于从服务器到浏览器维护了一个通道,会占据你的服务器性能3)上手周期比较长,即使上手,代码的稳定性也不高,维护也麻烦。因为这样,所以项目中有关推送的代码我都不管轻易改动。

  后来又有个web项目也需要推送,鉴于以上原因,我使用第三方的推送服务,原因很简单,第三方推送服务可以满足我们的需求,缩短我们的开发测试维护成本,术业有专攻,它们在推送方面更有优势,服务质量也有保证!经过对比后,我们最终决定使用了GoEasy推送。

  GoEasy是一款强大易用的websocket消息推送服务,web,移动端都可以进行推送这是个收费的产品,当然提供12个月免费试用期,针对不同的并发数量和消息发送条数都有价格明细。它有如下几个优点。1)完美支持99.9%的浏览器,即使非常古老的IE6IE7IE82)任何开发语言PHP C# Java Ruby Python C(++) node.js ... 3)它在全球有56个数据中心,保证推送的实时可达性,实时高效;4)独创的OTP技术+Https提高消息安全隐私;5)稳定可靠,简单易用。6)不但支持从服务端到客户端的推送,还支持从客户端到客户端的推送。更多资料可以去官网http://goeasy.io了解。

 

二、原理

  只需要确定哪些用户需要接收信息,然后让这些用户都订阅一个相同的channel(频道)。然后再往这个频道上推送消息即可!所有关键在于channelchannel一致,则可以接收到信息,否则收不到!

  对于订阅必须要的信息有:appkey, channel

  对于推送必须要的信息有:appkey, channel, content

 

三、步骤

1、注册账号

官网地址:http://goeasy.io

2、创建应用

应用分免费的和收费(免费版最多只能创建2个应用)我这里用的是免费版。创建完应用之后如下图。

其中。appkey是验证用户的有效性的唯一标识。系统会生成两个keys,一个Super key和一个Subscribe key;它们的区别在于前者既可以订阅又可以推送,但后者只能用于订阅。

3、前端js代码

复制代码
 1 <script type="text/javascript" src="http(s)://<CDN Host>/goeasy.js"></script>
 2 <script type="text/javascript">
 3     var goEasy = new GoEasy({
 4         appkey: "您的app key"
 5     });
 6     goEasy.subscribe({
 7         channel:"myChannel",
 8         onMessage:function(message){
 9             alert(message.content);
10         }
11     });
12 </script>
复制代码

注意:

1)请不要将goeasy.js下载到本地,GoEasy动态为不同浏览器和操作系统提供不同goeasy.js,使用下载到本地的goeasy.js,将会导致某些用户不能发送和接收消息。

2)第一行代码的http(s)表示可以用http协议,也可以使用https协议,一般情况下使用http就可以了,http速度快,性能更高。

2)上面代码中<CDN Host>需要用您应用的CDN Host,如图1,比如你的CDN Hostcdn-hangzhou.goeasy.io

那么上面第一行代码为:<script type="text/javascript" src="http://cdn-hangzhou.goeasy.io/goeasy.js"></script>

 

4pom.xml文件中加入GoEasy专有maven

复制代码
 1 <repositories>
 2     <repository>
 3         <id>goeasy</id>
 4         <name>goeasy</name>
 5         <url>http://maven.goeasy.io/content/repositories/releases/
 6     </url>
 7     </repository>
 8 </repositories>
 9 
10 <!--添加依赖-->
11 <dependencies>
12 
13     <dependency>
14         <groupId>io.goeasy</groupId>
15         <artifactId>goeasy-sdk</artifactId>
16         <version>0.3.8</version>
17     <dependency>
18 
19 <dependencies>        
复制代码

 

5、java代码

复制代码
1 GoEasy goEasy = new GoEasy( "http(s)://<REST Host>”, "my_appkey");
2 goEasy.publish("频道","消息内容");
3 
4 //比如我使用http协议,我的应用的REST Host为rest-hangzhou.goeasy.io,那么上面代码就是这样的
5 
6 GoEasy goEasy = new GoEasy("http://rest-hangzhou.goeasy.io", "AF-aaaaaa0dddddd5cccccc2d113f444444");
7 goEasy.publish("myChannel","测试");
复制代码

如果想实现精准推送,给不同的用户推送不同的消息,在页面获取当前登录人id,在后台发布频道时就把id作为频道名即可。

 

四、其他

RestAPI进行推送

URL: https://goeasy.io/goeasy/publish

Method: Post

参数:appkey, channel, content

例如:https://goeasy.io/goeasy/publish?appkey={your_appkey}&channel={your_channel}&content={your_message}

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SSM框架学习宝典:入门、进阶、精通,全方位代码项目资 一、探索SSM的无限可能 SSM(Spring + Spring MVC + MyBatis)框架作为Java开发中的黄金组合,为开发者提供了强大的技术支持和丰富的功能。本系列资料将带您从零基础开始,逐步掌握SSM的核心技术和最佳实践,助您在Java Web开发领域更上一层楼。 二、资料亮点 基础教程与练习项目:从基础知识讲起,结合实际练习项目,让您轻松上手SSM开发。 进阶技术与案例分析:针对进阶开发者,提供深入的技术探讨和案例分析,助您深入理解SSM的高级特性。 实战项目与经验分享:通过实际项目实战,让您在实践中掌握SSM的运用,同时分享经验与心得,让您少走弯路。 三、适用人群与场景 无论您是初学者还是资深开发者,无论您是在校学生还是职场人士,本系列资料都将是您学习SSM的得力助手。适用于Java Web开发、企业级应用开发、个人项目实践等多个领域。 四、使用建议 系统学习:按照资料提供的顺序进行系统学习,确保知识体系的完整性。 实践为王:在学习过程中注重实践操作,通过实际项目加深理解。 持续反馈与调整:根据学习进度和反馈,适时调整学习策略,提高学习效果。 五、安全与责任 在使用SSM框架进行开发时,请确保遵循最佳实践和安全准则,以保障系统的稳定性和安全性。在使用提供的资料时,请遵守版权法规,尊重原作者的权益。让我们共同为推动SSM技术的发展而努力!
资源名字:基于SSM+mysql的新闻推送系统设计与实现(源码+部署说明+视频演示).zip 资源内容:项目全套源码+完整文档 源码说明: 全部项目源码都是经过测试校正后百分百成功运行。 基于SSM+MySQL的新闻推送系统是一个用于实时推送新闻资讯的平台,主要包括新闻管理、用户管理、推送管理、文章管理等功能,具有以下主要特点: 技术栈:该系统采用了Java技术栈中的SSM框架,包括Spring+SpringMVC+MyBatis,并使用MySQL数据库,具备较高的技术稳定性和可靠性。 新闻管理功能:平台提供新闻资讯的发布与管理,包括新闻的录入、编辑、删除,方便管理员进行新闻发布和编辑。 用户管理功能:系统支持用户信息的管理,包括用户的注册、登录、个人信息管理等,为用户提供个性化的新闻推送服务推送管理功能:系统根据用户的偏好和订阅关系,实时推送符合用户兴趣的新闻资讯,提供个性化的新闻推送服务。 用户友好:系统拥有直观友好的用户界面和良好的操作体验,方便用户浏览新闻、订阅频道、管理个人信息。 数据库设计合理:系统的数据库设计符合规范,包括新闻信息、用户信息、订阅关系等表结构,能够满足新闻资讯管理和个性化推送数据管理需求。 安全性和隐私保护:系统采用安全措施,保护用户个人信息和新闻数据的安全和隐私,确保数据的保密性和完整性。 扩展性强:系统采用模块化设计,方便进行功能扩展和系统升级,满足不同类型新闻推送和用户规模的需求。 总之,基于SSM+MySQL的新闻推送系统具有技术稳定性高、新闻管理功能丰富、用户友好、数据库设计合理、安全性保护等特点,为用户提供个性化、实时的新闻资讯推送服务

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值