UNPKG

socket-heart

Version:

基于ES6的class 来封装的WebSocket,包含心跳,断线重连。

122 lines (83 loc) 2.51 kB
## 介绍 > WebSocket是基于原生的基础上扩展的心跳和重连机制进行一次封装的,是基于ES6 class的方式,心跳机制单独抽离,可以引用。 ## 适用场景 > 对数据的实时性要求比较强,客户端与服务频繁交互的场景, 比如: - 通信 - 股票 - 直播 - 共享桌面 - 聊天室 - 实时共享 - 多人协作 .... ## `WebSocket` 封装思想 1. 基于原有的API上扩展方法, 方法通过初始化,和参数一起传入,不用做任何操作,还有直接初始化,之后通过对象调用 2. 扩展心跳检测 3. 断线重连 ## 基础知识 1. ES6的基础语法 2. ES6的class ## 安装 ``` shell $ npm install/i socket-heart ``` ## api ### 参数 > OPTIONS对象中有一下属性 - url: null, // 链接的通道的地址 - heartTime: 5000, // 心跳时间间隔 - heartMsg: 'ping', // 心跳信息,默认为'ping' - isReconnect: true, // 是否自动重连 - isRestory: false, // 是否销毁 - reconnectTime: 5000, // 重连时间间隔 - reconnectCount: 5, // 重连次数 -1 则不限制 - openCb: null, // 连接成功的回调 - closeCb: null, // 关闭的回调 - messageCb: null, // 消息的回调 - errorCb: null // 错误的回调 ### 方法 - create() > 建立连接 - onopen (callback) > 自定义连接成功事件 > @param {Function} callback 回调函数:如果callback存在,调用callback,不存在调用OPTIONS中的回调 - onclose(callback) > 自定义关闭事件 > @param {Function} callback 回调函数:如果callback存在,调用callback,不存在调用OPTIONS中的回调 - onerror(callback) > 自定义错误事件 > @param {Function} callback 回调函数:如果callback存在,调用callback,不存在调用OPTIONS中的回调 - send(data) > 自定义发送消息事件 > @param {String} data 发送的文本 - onreconnect() > 连接事件 - destroy() > 销毁 ### 心跳[Heart]API ### 方法 - reset() > 重置 - start(cb) > 启动心跳 > @param {Function} cb 回调函数 ## 用法 ``` javascript import { Socket } from 'socket-heart' let options = { .... } this.wbSocket = new Socket(options) this.wbSocket.onmessage((data) => {}) ... ``` ``` javascript import { Socket } from 'socket-heart' let options = { ...., onmessage: (data) =>{ } } this.wbSocket = new Socket({ options }) ... ```