GoEasy的使用


GoEasy介紹

http請求短連接,一次請求響應后關閉,而GoEasy建立了客戶端與服務器之間的長連接。

goeasy支持服務器到客戶端的消息發布,客戶端到客戶端的消息發布

GoEasy用來做什么

入門

在官網注冊一個賬號可以免費使用:http://www.goeasy.io/

然后創建免費應用:

開發

1)導入依賴

		<!--GoEasy依賴-->
        <dependency>
            <groupId>io.goeasy</groupId>
            <artifactId>goeasy-sdk</artifactId>
            <version>0.3.8</version>
        </dependency>

<!--Goeasy長連接倉庫-->
    <repositories>
        <repository>
            <id>goeasy</id>
            <name>goeasy</name>
            <url>http://maven.goeasy.io/content/repositories/releases/</url>
        </repository>
    </repositories>

2)請求以及參數說明

URL:

http(s)😕/ /publish

Method:

Post

參數:

參數名字 是否必需 描述
appkey 您的app key
channel 您的目標channel
content 推送的消息內容

appkey創建應用時生成,channel由個人定義。

服務器到客戶端的消息推送

服務器程序, 將觸發代碼整合在業務代碼中

其中Common key在應用中查看

		String jsonString = JSONObject.toJSONString(userDto);
        GoEasy goEasy = new GoEasy("http://rest-hangzhou.goeasy.io","Common key");
        System.out.println(jsonString);
        goEasy.publish("userana",jsonString);
前端
<script type="text/javascript">
    //GoEasy僅做監聽,不做數據加載,觸發時機為--用戶最近的活躍度統計Controller觸發
    var goEasy = new GoEasy({
        appkey: 'Common key'
    });

    goEasy.subscribe({
        channel: "",
        onMessage: function (message) {
            //console.log(message);
            var res = $.parseJSON(message.content);
            //console.log(res.data);
            //console.log(message.content.data);
            myChart.setOption({
                series: [{
                    name: '活躍用戶',
                    data: res.data
                }]
            });
        }
    });
</script>

注意:請不要將goeasy.js下載到本地,GoEasy動態為不同瀏覽器和操作系統提供不同goeasy.js,使用下載到本地的goeasy.js,將會導致某些用戶不能發送和接收消息。

客戶端與客戶端的通信

<%@ page contentType="text/html;charset=UTF-8" isELIgnored="false" %>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>聊天室</title>

    <link href="css/base.css" rel="stylesheet" type="text/css"/>
    <link href="css/index.css" rel="stylesheet" type="text/css"/>
    <link href="css/index_iphone.css" rel="stylesheet" type="text/css"/>
    <link href="css/index_1000.css" rel="stylesheet" type="text/css"/>
    <script type="text/javascript" src="http://cdn-hangzhou.goeasy.io/goeasy.js"></script>
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript">

        var goEasy = new GoEasy({
            appkey: "xxxxxxxxxxxxxx"
        });

        //訂閱消息
        goEasy.subscribe({
            channel: "messageChannel",
            onMessage: function (message) {
                //id選擇器span顯示消息
                console.log(message);
                $("#messageLoad").text(message.content);
            }
        });

        //發送消息
        function publishMessage() {
            var messageContent = $("#publishMessages").val();
            goEasy.publish({
                channel: "messageChannel",
                message: messageContent
            });
        }
    </script>
</head>
<body>

<div class="demos chatdiv">
    <div class="demos_con">
        <div id="chatScroll" class="chat J_chat">
            <div id="subscribeMessages" class="chat_auto J_chat_auto">
                &nbsp;
                <span id="messageLoad"></span>
            </div>
        </div>

        <div class="demos_condsend clearfix">
            <input class="demos_condsend_1 J_demos_condsend_1 fl" id="publishMessages" type="text"/>
            <button class="demos_condsend_2 fr" onclick="publishMessage();">發送</button>
        </div>
    </div>
</div>

<div class="partfw J_partfw">
    <div class="partf">
        <p class="partfp">© 2015-2018 DHG, All Rights Reserved&nbsp;&nbsp;&nbsp;&nbsp; Em
            <span style="display: none;">e</span>mail:<span style="display: none;">m</span> mzc
            <span style="display: none;">1</span>1997@<span style="display: none;">g</span>mai
            <span style="display: none;">l</span>.com</p>
    </div>
</div>
</body>
</html>

測試,兩個瀏覽器打開同一個頁面 對話。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM