GoEasy推送实时消息到web端-创新互联-成都快上网建站

GoEasy推送实时消息到web端-创新互联

前段时间用goeasy实现了实时推送功能,这里写个工作笔记方便以后查看,也希望可以帮到其他需要实时推送的朋友。
Goeasy是第三方推送服务。如果自己使用原生态的socket.io, websocket进行开发的话,需要花时间研究如何实现,且不说把这两种技术运用的好不好,单是测试就够我忙了,你要进行压力测试、性能测试、功能测 试,总的来讲自己开发成本周期长、维护成本高,所以我选择了第三方推送服务。之后我对比了几个做推送的第三方产品,个人感觉goeasy推送更稳定,推送 速度快,代码简单易懂上手快,所以最后我推荐了goeasy给我的领导。GoEasy官网:goeasy.io

推送的原理:GoEasy的实现原理很简单,就是推送消息的一端只负责推送,而需要接收的页面需要预先订阅。订阅什么呢?订阅channel。往 某个channel上推送消息,客户端就订阅相同的channel,这样就可以确保准确接收。通过channel我们可以自己指定哪些页面或哪些用户可以 接收到从这个channel上推送出来的消息。

在石峰等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、网站制作 网站设计制作按需求定制开发,公司网站建设,企业网站建设,品牌网站制作,成都全网营销,成都外贸网站建设公司,石峰网站建设费用合理。

 JAVA Web实时消息后台服务器推送技术

如果实现web实时推送
开发语言:Java

1. 获取goeasy的appkey
Appkey是使用goeasy推送的“钥匙”。在goeasy官网上注册好之后创建一个free application, 创建好之后你就可以看到一个application有两个key.一个是supper key, 另一个是subscribe key。这个两个key的区别是:supper key既可以用于推送也可以用于订阅; 但subscribe key只可以用于订阅,它没有推送信息的权限。处于安全考虑,我用supper key来进行推送消息,用subscribe key来订阅消息。

2. web客户端订阅channel
1) 引入goeasy.js


2) 连接goeasy


3) 订阅channel
function subscribe(){
 goEasy.subscribe({
           channel: 'demo_channel',
           onMessage: function(message){
               //当有消息推送到channel “demo_channel”时,控制台会自动打印出推送的消息
               console.log('Meessage received:'+message.content);
           },
           onSuccess:function(){
               console.log("Subscribe the Channel successfully.");
           },
           onFailed: function(error){
               console.log("Subscribe the Channel failed, error code: "+ error.code + " error message: "+ error.content);
           }

       });

}

3. 用JAVA SDK推送消息到channel

1)添加goeasy maven repository 到pom.xml

...
 
   goeasy
   goeasy
   http://maven.goeasy.io/content/repositories/releases/
 


                      
                     

 ...
 
   io.goeasy
    goeasy-sdk
     0.3.1
 



这里需要注意的是,使用java的sdk时需要依赖两个jar包,请加入到你的项目里。
gson.jar
slf4j-api.jar

2) 推送消息到channel
GoEasy goEasy = new GoEasy("your supper key");
goEasy.publish("demo_channel","Welcome xueting",new PublishListener(){
           @Override
           public void onFailed(GoEasyError error) {
               System.out.println("Error code:"+ error.getCode() +"; error content:"+error.getContent());
           }

           @Override
           public void onSuccess() {
               System.out.println("Publish success");
           }
       });

针对没有使用maven的朋友,你们可以手动下载java的sdk. 下载地址:http://maven.goeasy.io/service/local/artifact/maven /redirect?r=releases&g=io.goeasy&a=goeasy-sdk&v=LATEST&e=jar

如果你用的是其他开发语言, goeasy还提供了RestfulAPI在后台来推送消息。具体使用请参照goeasy 官网的参数使用及说明。

所有推送的消息以及接收情况,可以登录到goeasy后台进行查看。考虑到信息的安全性,大家可以根据自身需求来决定是否在推送前对信息加密。

感兴趣的朋友可以先到https://goeasy.io上先看看demo页面的效果。好了,希望这篇文章对大家有帮助。共勉……

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:GoEasy推送实时消息到web端-创新互联
本文链接:http://kswjz.com/article/dhoped.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流