zoukankan      html  css  js  c++  java
  • 如何快速搞定websocket

    5 个步骤快速掌握websocket消息发送和接收

    1. 获取您的 appkey

    先注册一个账号,登录后,创建一个应用,就能得到您的 appkey。
    详情见 获取开发者账号和 appkey

    2. 客户端集成 irealtime.js

    直接在页面中引用

    <script
      type="text/javascript"
      src="https://irealtime.cn/irealtime-1.0.1.js"
    ></script>
    

    npm 安装

    npm install --save irealtime
    import IRealTime from 'irealtime';
    

    下载到本地

    下载地址 1

    3. 初始化 irealtime

    使用之前获取的 appkey 初始化 irealtime 对象,如果您的客户端需要发送消息,请使用 common key。如果您的客户端只需要接收消息,不需要发送消息,可以使用 subscriber key。

    提示:
    一个页面或一个单页面应用,一个小程序或者一个 APP, 只需要初始化一个 irealtime 对象

    <script
      type="text/javascript"
      src="https://irealtime.cn/irealtime-1.0.1.js"
    ></script>
    
    <script type="text/javascript">
      var realTime = new IRealTime({
        host: 'hk.irealtime.cn',
        appkey: '' // common key or subscribe key,
        onConnected: function() {
          console.log('连接成功...')
        },
        onDisconnected: function() {
          console.log('连接断开...')
        },
        onConnectFailed: function(error) {
          console.log('连接失败...', error)
        },
      })
    </script>
    

    4. 订阅消息(接收)

    在发送消息之前,您需要先完成订阅操作, 来准备接收消息。

    什么是 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)
      },
    })
    

    5. 发送消息

    发送时,您的 channel 必须和上一步订阅的 channel 一致,才可以成功的接收消息。不论是服务端还是客户端,您都可以使用 irealtime 提供的相应代码来完成发送操作。同时也可以使用 curl 直接在控制台调用 irealtime API 来测试 irealtime 的 publish 接口。

    realTime.publish({
      channel: 'myChannel01',
      message: 'hello irealtime',
      onSuccess: function(res) {
        console.log('success:', res)
      },
      onFailed: function(error) {
        console.log('failed:', error)
      },
    })
    

    相信通过上边几个步骤,您已经成功的完成 irealtime 消息的发送和接收。更多详情,可以参考 irealtime 官方文档
    遇到技术问题也可以与 irealtime 技术支持取得联系。

  • 相关阅读:
    Java安全之Filter权限绕过
    Java学习之struts2使用
    Java学习之Hibernate框架使用
    Java学习之Maven使用
    .Net Core3.1中SameSite的使用方法、遇到的问题以及解决办法
    .Net Core 3.1简单搭建微服务
    在VM虚拟机中安装FTP服务
    Hyper-V中的虚拟机(Centos)安装FTP服务
    Docker相关操作
    .Net Core 3.1 服务端配置跨域
  • 原文地址:https://www.cnblogs.com/JackyTecblog/p/14415878.html
Copyright © 2011-2022 走看看