GoEasy
1.GoEasy介绍
GoEasy专注于服务器与浏览器,浏览器与浏览器之间消息推送,完美兼容世界上的绝大多数浏览器,包括IE6, IE7之类的非常古老的浏览器。 GoEasy采用 发布/订阅 的消息模式,帮助您非常轻松的实现一对一,一对多的通信。
GoEasy是一款强大易用的websocket消息推送服务,web端,移动端都可以进行推送,这是个收费的产品,当然提供12个月免费试用期,针对不同的并发数量和消息发送条数都有价格明细。它有如下几个优点。
1)完美支持99.9%的浏览器,即使非常古老的IE6,IE7,IE8;
2)任何开发语言PHP 、C# 、Java 、Ruby 、Python 、C(++) 、node.js …
3)它在全球有5—6个数据中心,保证推送的实时可达性,实时高效;
4)独创的OTP技术+Https提高消息安全隐私;
5)稳定可靠,简单易用。
6)不但支持从服务端到客户端的推送,还支持从客户端到客户端的推送。更多资料可以去官网
http://goeasy.io了解。
官网:https://goeasy.io/www/home , 官网有文档(有中文文档)和demo, 下面记录一下我使用的步骤:
2.使用步骤
2.1.官网注册账号
账号:@.com 密码:aaa
2.2.新建一个免费的application,其中application name就是下面的channel,这时,系统会分配给你appkey
应用分免费版的和收费版(免费版最多只能创建2个应用),我这里用的是免费版。创建完应用之后如下图。
其中。appkey是验证用户的有效性的唯一标识。系统会生成两个keys,一个Super key和一个Subscribe key;它们的区别在于前者既可以订阅又可以推送,但后者只能用于订阅。
App keys:
2.3.导入SDK
Javascript:
1 2
注意:
- 请不要将goeasy.js下载到本地,GoEasy动态为不同浏览器提供不同内容的goeasy.js,使用下载到本地的goeasy.js,将会导致某些浏览器 不能发送和接收消息。
- 如果您的应用程序需要支持Windows XP用户, 请务必使用HTTP来获取js文件,GoEasy将于2016年9月22日升级所有 SSL证书至SHA-2,届时起Windows XP用户将无法通过HTTPS连接GoEasy。
Java
方式一: 手动下载sdk
goeasy-sdk.jar
下载依赖包: gson-2.3.1.jar, slf4j-api-1.7.2.jar
方式二: Maven
添加goeasy仓库到您的pom.xml文件:
goeasy
goeasy
http://maven.goeasy.io/content/repositories/releases/
然后添加依赖:
io.goeasy
goeasy-sdk
0.3.8
3.服务器发送(发布)消息
RESTful API
URL:
http(s)://
/publish
Method:
Post
参数:
返回值:
{ "code" : 200, "content" : "OK" } Copy
返回值说明
对于服务器端,目前GoEasy仅提供Java 的SDK, 未来会提供更多其他语言的SDK,敬请期待。
4.浏览器发送(发布)消息和接收消息
4.1.发送(发布)消息
Java
GoEasy goEasy = new GoEasy( "http(s)://
", "my_appkey"); goEasy.publish("my_channel","Hello, GoEasy!");
JavaScript
var goEasy = new GoEasy({ appkey: "my_appkey" }); //GoEasy-OTP可以对appkey进行有效保护,详情请参考 goEasy.publish({ channel: "my_channel", message: "Hello, GoEasy!" });
GoEasy-OTP
4.2.接收(订阅)消息
JavaScript
var goEasy = new GoEasy({ appkey: "my_appkey" }); goEasy.subscribe({ channel: "my_channel", onMessage: function (message) { alert("Channel:" + message.channel + " content:" + message.content); } });
4.3.取消订阅
JavaScript
goEasy.unsubscribe ({ channel: "my_channel" });
4.4代码测试
后台发送(发布)消息
//代码测试 @Test public void Test(){ // 参数:服务器地址 , AppKey:commonKey GoEasy goEasy = new GoEasy( "http://rest-hangzhou.goeasy.io", "BC-78534f92f1204dd595be0e4cbdb8714b"); //参数:管道标识,发送内容 goEasy.publish("my_channel","Hello, GoEasy!"); }
jsp页面接收(订阅)消息
<--代码测试-->
动态echarts演示
@Test public void Test2(){ while(true){ Random random = new Random(); int[] a={random.nextInt(10),random.nextInt(15),random.nextInt(20),random.nextInt(30),random.nextInt(10)}; JSONObject jsonObject = new JSONObject(); jsonObject.put("data", a); String s = jsonObject.toJSONString(); // 参数:服务器地址 , AppKey:commonKey GoEasy goEasy = new GoEasy( "http://rest-hangzhou.goeasy.io", "BC-78534f92f1204dd595be0e4cbdb8714b"); //参数:管道标识,发送内容 goEasy.publish("my_channel",s); try { Thread.sleep(3000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212042.html原文链接:https://javaforall.net
