# 客户端发送和接收消息

# 接收(订阅)消息

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

什么是 channels? 根据您的业务需求来设定,channels是一个数组参数,只能包含数字大小写字母并且不能超过256位,通道需要和消息的发送端保持一致,就可以收到消息。

realTime.subscribe({
  channels: ['myChannel01', 'myChannel02'], //可配置多个channel
  onMessage: function(data) {  // 这个回调函数是用来接收消息的
    console.log(data)
    // data的数据结构如下
    /*{
      channel: "myChannel01"         // 哪个通道的消息
      message: "hello irealtime"     // 消息内容
      time: 1612403977920            // 发送的时间毫秒数
      userId: ""                     // 带userId的连接,如果没有就是空字符串
    }*/
  },
  onSuccess: function(res) {
    console.log('订阅成功...', res)
  },
  onFailed: function(error) {
    console.log('订阅失败...', error)
  },
})

# 发送消息

realTime.publish({
  channel: 'myChannel01', //替换为您自己的channel
  message: 'hello irealtime', //替换为您想要发送的消息内容
  onSuccess: function(res) {
    console.log('success:', res)
  },
  onFailed: function(error) {
    console.log('failed:', error)
  },
})

# 取消订阅

realTime.unSubscribe({
  channels: ['myChannel01', 'myChannel02'], //替换为您自己的channel
  onSuccess: function() {
    console.log('订阅取消成功。')
  },
  onFailed: function(error) {
    console.log('取消订阅失败', error)
  },
})