Java GoEasy 实现服务端推送和Web端推送

原创
2018/11/17 20:30
阅读数 1.6K

项目中需要消息推送,又想降低开发成本Java服务器端推送,Web端接收推送信息。

具体需求:

    需求一:系统框架实现全局异常捕获并录入日志表,实现实时推送消息到客户端页面展示。

    需求二:系统管理员在后台管理系统页面发布一个消息,所有用这个系统的用户无论在哪个页面都能及时收到他发布的消息。

技术实现:

    一个第三方的免费推送服务 GoEasy , 它可以满足我的需求,下面是如何用GoEasy进行信息推送及接收。

    备注:

        免费一年使用

        最大可并发连接数:60

        套餐消息总量:100,000

步骤一:

    1、免费注册一个GoEasy账号。

    2、登录您的账号,创建一个“应用”,获得应用的 app key。

步骤二:

    1、添加镜像。

<repository>
    <id>goeasy</id>
    <name>goeasy</name>
    <url>http://maven.goeasy.io/content/repositories/releases/</url>
</repository>

    2、添加依赖。

<dependency>
    <groupId>io.goeasy</groupId>
    <artifactId>goeasy-sdk</artifactId>
    <version>0.3.9</version>
</dependency>

步骤三:

     1、​服务器端发送( 发布)消息。

GoEasy goEasy = new GoEasy("GoEasy的应用列表中查找", "Common key 在应用列表中查找");
goEasy.publish("log_channel", "Hello world!", new PublishListener() {
    @Override
    public void onSuccess() {
        System.out.print("消息发布成功。");
    }

    @Override
    public void onFailed(GoEasyError error) {
        System.out.print("消息发布失败, 错误编码:" + error.getCode() + " 错误信息: " + error.getContent());
    }
});

步骤四:

    1、​客户端接收消息( 订阅Channel)。

<script type="text/javascript" src="http://cdn.goeasy.io/goeasy.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        var goEasy = new GoEasy({
            appkey: "Common key 在应用列表中查找",
            onConnected: function () {
                alert("成功连接GoEasy。");
            },
            onDisconnected: function () {
                alert("与GoEasy连接断开。");
            },
            onConnectFailed: function (error) {
                alert("与GoEasy连接失败,错误编码:" + error.code + "错误信息:" + error.content);
            }
        });

        goEasy.subscribe({
            channel: "log_channel",
            onMessage: function (message) {
                alert("您有新消息:channel:" + message.channel + " 内容:" + message.content);
            },
            onSuccess: function () {
                alert("Channel订阅成功。");
            },
            onFailed: function (error) {
                alert("Channel订阅失败, 错误编码:" + error.code + " 错误信息:" + error.content)
            }
        });
    });
</script>
展开阅读全文
打赏
0
3 收藏
分享
加载中
更多评论
打赏
0 评论
3 收藏
0
分享
返回顶部
顶部