简单的websocket
5 个步骤快速掌握消息发送和接收
获取您的 appkey
先注册一个账号,登录后,创建一个应用,就能得到您的 appkey。点击注册
客户端集成 irealtime.js
直接在页面中引用
<script
type="text/javascript"
src="https://irealtime.cn/irealtime-1.0.0.js"
></script>
npm 安装
npm install --save irealtime
import iRealTime from 'irealtime';
下载到本地
初始化 irealtime
使用之前获取的 appkey 初始化 irealtime 对象,如果您的客户端需要发送消息,请使用 common key。如果您的客户端只需要接收消息,不需要发送消息,可以使用 subscriber key。
提示:
1.一个页面或一个单页面应用,一个小程序或者一个 APP, 只需要初始化一个 irealtime 对象
2.付费用户可以使用 irealtime-OTP 对 appkey 进行有效保护,详情
<script type="text/javascript" src="https://irealtime.cn/irealtime-1.0.0.js"></script>
<script type="text/javascript">
var irealtime = iRealTime.getInstance({
host:'hk.irealtime.io', //应用所在的区域地址: 【hk.irealtime.io】
appkey: "您的appkey" //替换为您的应用appkey
});
</script>
连接 irealtime
在接收和发送消息之前,必须要先连接 irealtime。
一个页面或一个单页面应用,一个小程序或者一个 APP, 需要且只需要建立一个连接即可,在成功断开连接之前,不需要,也不能反复建立连接
irealtime.connect({
onSuccess: function() {
//连接成功
console.log('irealtime connect successfully.') //连接成功
},
onFailed: function(error) {
//连接失败
console.log(
'Failed to connect irealtime, code:' +
error.code +
',error:' +
error.content
)
},
onProgress: function(attempts) {
//连接或自动重连中
console.log('irealtime is connecting', attempts)
},
})
订阅消息(接收)
在发送消息之前,您需要先完成订阅操作, 来准备接收消息。
什么是 channel?
根据您的业务需求来设定,channel 可以为任意字符串,除了不能包含空格,和不建议使用中文外,没有任何限制,只需要和消息的发送端保持一致,就可以收到消息。channel 可以是您直播间的 uuid,也可以是一个用户的唯一表示符,可以订阅多个 channel,可以任意定义,channel 不需要创建,可随用随弃。
irealtime.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
)
},
})
发送消息
发送时,您的 channel 必须和上一步订阅的 channel 一致,才可以成功的接收消息。不论是服务端还是客户端,您都可以使用 irealtime 提供的相应代码来完成发送操作。同时也可以使用 curl 直接在控制台调用 irealtime API 来测试 irealtime 的 publish 接口。
irealtime.publish({
channel: 'my_channel', //替换为您自己的channel
message: 'Hello irealtime!', //替换为您想要发送的消息内容
onSuccess: function() {
console.log('消息发布成功。')
},
onFailed: function(error) {
console.log(
'消息发送失败,错误编码:' + error.code + ' 错误信息:' + error.content
)
},
})
相信通过上边几个步骤,您已经成功的完成 irealtime 消息的发送和接收。更多详情,可以参考 irealtime 官方文档