对于智汀家庭云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!!