智汀家庭云-开发指南Web:业务功能【设备通讯】

对于智汀家庭云Web版而已,与设备的通讯都离不开智慧中心的通讯。在这里,我们采用Websocket技术,以Websocket建立长链接进行通讯信息接收传输。

  • Websocket 介绍

    Websocket是一种在单个TCP连接上进行全双工通信的协议,Websocket API也被W3C定为标准,Websocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。

    Websocket的构造函数、常量、属性、方法,事件 ->Websocket

本应用已封装Websocket方法"ws-plugin"上传npm 官网,开源地址:https://github.com/zhiting-tech/ws-plugin

  • “ws-plugin” 的安装
cnpm install git://git@github.com:zhiting-tech/ws-plugin.git
  • “ws-plugin” 的页面引入
import Socket from 'ws-plugin'
const ws = new Socket({
  url: null, // 链接的通道的地址
  heartTime: 60 * 1000 * 3, // 心跳时间间隔
  heartMsg: 'ping', // 心跳信息,默认为'ping'
  isRestroy: false, // 是否销毁
  reconnectCount: 10, // 自动重连次数,-1为无限次重连
  reconnectTime: 5000, // 自动重连时间间隔,单位毫秒,默认5秒
  onOpen: null, // 连接成功的回调
  onClose: null, // 关闭的回调
  onMessage: null, // 消息的回调
  one rror: null // 错误的回调
})

// 方法调用
// 已建立通讯
ws.onOpen(() => {
  // do something here
})

// 接收通讯信息
ws.onMessage((data) => {
    // do something here
})
  • 相关调用方法:
方法名称 方法说明 参数
onOpen 连接成功的回调函数 传一个回调函数
onClose 关闭 ws 连接 传一个回调函数
onMessage 接受信息回调 传一个回调函数
onError 连接错误回调 传一个回调函数
reconnectTime 重连时间 默认值 5 * 1000(单位:毫秒)

完成通讯,接下来我就可以获取我们需要的信息对设备进行一些操作了,很nice!!

上一篇:FastAPI(60)- 针对 WebSocket 进行单元测试


下一篇:基于python,vue使用websocket进行数据通讯