客户端发送和接收消息 > HTML
 

Html

引入goeasy.js

在需要使用GoEasy的html页面集成goeasy.js sdk

    <script type="text/javascript" src="https://cdn.goeasy.io/goeasy-1.2.1.js"></script>

初始化GoEasy对象

如何兼容IE8,9等不支持Websocket的古董浏览器?

var goeasy = GoEasy.getInstance({
    host:'hangzhou.goeasy.io', //应用所在的区域地址: 【hangzhou.goeasy.io |singapore.goeasy.io】
    appkey: "my_appkey" //替换为您的应用appkey
});
//GoEasy-OTP可以对appkey进行有效保护,详情请参考​ ​

GoEasy-OTP

建立连接

在接收和发送消息之前,必须要先连接GoEasy,一个页面或单页面应用中需要,且只需要建立一个连接即可,在成功断开连接之前,不需要,也不能反复建立连接。

goeasy.connect({
    onSuccess: function () {  //连接成功
        console.log("GoEasy connect successfully.") //连接成功
    },
    onFailed: function (error) { //连接失败
        console.log("Failed to connect GoEasy, code:"+error.code+ ",error:"+error.content);
    },
    onProgress:function(attempts) { //连接或自动重连中
        console.log("GoEasy is connecting", attempts);    
    }
});

接收(订阅)消息

在发送消息之前,接收端必须完成消息的订阅,否则无法接收消息。

channel从哪里来,如何创建,应该传入什么呢?

根据您的业务需求来设定,channel可以为任意字符串,除了不能包含空格,和不建议使用中文外,没有任何限制,只需要和消息的发送端保持一致,就可以收到消息。channel可以是您直播间的uuid,也可以是一个用户的唯一表示符,一个app可以订阅多个channel,可以任意定义,channel不需要创建,可随用随弃。

goeasy.subscribe({
    channel: "my_channel",//替换为您自己的channel
    onMessage: function (message) {
        console.log("Channel:" + message.channel + " content:" + message.content);
    },
    onSuccess: function () {
        console.log("Channel订阅成功。");
    },
    onFailed: function (error) {
        console.log("Channel订阅失败, 错误编码:" + error.code + " 错误信息:" + error.content)
    }
});

发送消息

goeasy.publish({
    channel: "my_channel",//替换为您自己的channel
    message: "Hello GoEasy!",//替换为您想要发送的消息内容
    onSuccess:function(){
        console.log("消息发布成功。");
    },
    onFailed: function (error) {
        console.log("消息发送失败,错误编码:"+error.code+" 错误信息:"+error.content);
    }
});

取消消息接收

goeasy.unsubscribe({
    channel: "my_channel", //替换为您自己的channel
    onSuccess: function () {
        console.log("订阅取消成功。");
    },
    onFailed: function (error) {
        console.log("取消订阅失败,错误编码:" + error.code + " 错误信息:" + error.content)
    }
});

其他相关

集成goeasy.js
HTML
微信小程序
React-Native
Uni-app
Vue
React
AngularJS
RequireJS

results matching ""

    No results matching ""