基于GoEasy实现Java web实时数据推送
程序员文章站
2022-03-08 10:00:14
...
以前都是使用ajax定时发送请求到后台,这种方式非常消耗系统资源。在大并发情况时如果不对线程进行控制的话,还会重复取数据,造成数据错误。
鉴于这种情况,使用websocket通信就是一个非常好的选择。websocket能避免浪费系统资源,但是它有一个缺点就是不兼容低版本的IE浏览器(貌似是只支持IE10及以上的IE版本)。为了解决这个问题,我在网上逛了一圈,最终找到了GoEasy推送,网上说它是基于websocket和polling两种通信方式而开发的实时推送服务平台。通过测试得出,低版本的IE浏览器都是通过polling方式连接的,而其它浏览器都是websocket。GoEasy官网:http://goeasy.io
下面介绍如何使用GoEasy从java后台推送实时消息。
1. 从Java后台推送消息
1.1. 引入goeasy的Java SDK; 大家也可以通过maven将goeasy加入到项目中。SDK的下载和maven配置请大家从goeasy官网上获取: http://goeasy.io/www/started
1.2. Java 代码
初始化GoEasy对象时,需要一个appkey.这个appkey需要大家自己去goeasy官网注册并创建一个app (大家可以先创建一个免费的app来测试)
到这里为止后台代码就已经完毕了。
2. Web页面接收
2.1. 引入goeasy.js
2.2. 订阅
3. 最后一步确保在推送前订阅了的web页面已经打开(先订阅后推送),推送后你的消息会在订阅的web页面弹出来
除了Java后台推送之外,goeasy同时也提供了Restful API 供其开发语言的用户轻松实现实时web推送,如C#服务器实时推送,asp.net服务器实时推送, python服务器实时推送, PHP服务器实时推送, Ruby服务器实时推送.
当然,goeasy也提供从web页面直接推送消息的功能:
JavaScript代码:
就这样简单。
鉴于这种情况,使用websocket通信就是一个非常好的选择。websocket能避免浪费系统资源,但是它有一个缺点就是不兼容低版本的IE浏览器(貌似是只支持IE10及以上的IE版本)。为了解决这个问题,我在网上逛了一圈,最终找到了GoEasy推送,网上说它是基于websocket和polling两种通信方式而开发的实时推送服务平台。通过测试得出,低版本的IE浏览器都是通过polling方式连接的,而其它浏览器都是websocket。GoEasy官网:http://goeasy.io
下面介绍如何使用GoEasy从java后台推送实时消息。
1. 从Java后台推送消息
1.1. 引入goeasy的Java SDK; 大家也可以通过maven将goeasy加入到项目中。SDK的下载和maven配置请大家从goeasy官网上获取: http://goeasy.io/www/started
1.2. Java 代码
GoEasy goEasy = new GoEasy("03**********************51"); goEasy.publish("系统通知", "系统将于今天中午十二点进行维护,届时系统不可用。", 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("推送成功"); } });
初始化GoEasy对象时,需要一个appkey.这个appkey需要大家自己去goeasy官网注册并创建一个app (大家可以先创建一个免费的app来测试)
到这里为止后台代码就已经完毕了。
2. Web页面接收
2.1. 引入goeasy.js
<script type="text/javascript" src="http://cdn.goeasy.io/goeasy.js"></script>
2.2. 订阅
<script type="text/javascript"> var goEasy = new GoEasy({appkey: '03**********************51'}); goEasy.subscribe({ channel: '系统通知', onMessage: function(message){ alert('收到:'+message.content); } }); </script>
3. 最后一步确保在推送前订阅了的web页面已经打开(先订阅后推送),推送后你的消息会在订阅的web页面弹出来
除了Java后台推送之外,goeasy同时也提供了Restful API 供其开发语言的用户轻松实现实时web推送,如C#服务器实时推送,asp.net服务器实时推送, python服务器实时推送, PHP服务器实时推送, Ruby服务器实时推送.
当然,goeasy也提供从web页面直接推送消息的功能:
JavaScript代码:
goEasy.publish({ channel: '系统推送l', message: '来自web的推送消息:接收到了您的推送消息' });
就这样简单。
上一篇: 转: 各个推送服务的服务指标对比
下一篇: 二、JavaScript 对象继承
推荐阅读
-
基于Java的Socket类Tcp网络编程实现实时聊天互动程序(三):回车实现数据到发送(详细代码完结)
-
史上功能最全Web购物车实现(基于jsp+java+servlet+dao)包括后台图书管理、实现数据库分页等功能
-
JAVA Web实时消息后台服务器推送技术---GoEasy
-
JAVA Web实时消息后台服务器推送技术---GoEasy
-
基于Java的Socket类Tcp网络编程实现实时聊天互动程序(三):回车实现数据到发送(详细代码完结)
-
基于GoEasy实现Java web实时数据推送
-
基于GoEasy实现Java web实时数据推送
-
史上功能最全Web购物车实现(基于jsp+java+servlet+dao)包括后台图书管理、实现数据库分页等功能
-
使用GoEasy实现web实时消息推送
-
使用GoEasy实现web实时消息推送