https://github.com/michaeljier/websocket-heartbeat-timer
💓== msg ==>📦
https://github.com/michaeljier/websocket-heartbeat-timer
heartbeat websocket webworker
Last synced: 3 months ago
JSON representation
💓== msg ==>📦
- Host: GitHub
- URL: https://github.com/michaeljier/websocket-heartbeat-timer
- Owner: MIchaelJier
- License: mit
- Created: 2020-12-18T07:57:21.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-01-05T07:10:48.000Z (over 4 years ago)
- Last Synced: 2025-01-23T16:11:43.560Z (4 months ago)
- Topics: heartbeat, websocket, webworker
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/@gdyfe/websocket-heartbeat-timer
- Size: 134 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# websocket-heartbeat-timer
💓== msg ==>📦## 安装
```
npm i @gdyfe/wwebsocket-heartbeat-timer --save
yarn add @gdyfe/websocket-heartbeat-timer -D
```
## 使用
```javascript
// script
// npm
import websocketHeartbeat from '@gdyfe/websocket-heartbeat-timer'
websocketHeartbeat({
url: url,
pingTimeout: 1000,
pongTimeout: 1000,
manualStart: true,
repeatLimit: 3,
userInfo: {
token: '1234567',
id: '1234',
},
webworker: true
}).useIt('uuid')
```
## 参数
| 选项名 | 类型 | 是否必填 | 默认值 | 描述
| :-------------- | :------------------- | :------- | :----- | :------------- |
|url | string | true | '' | websocket地址 |
|pingTimeout | number | false | 5000 | 心跳发送间隔。如果收到任何后端消息,计时器将重置 |
|pongTimeout | number | false | 5000 | ping消息发送后,没有收到后端消息断开连接的时间间隔 |
|pingMsg | string | false | '' | ping message 内容 |
|manualStart | number | false | false | 是否手动开启 |
|repeatLimit | number | false | unlimited | 重连次数限制 |
|userInfo | number | false | {} | userInfo用户信息,{ token: 'xxxxx', id: 'xxxxx', ... } |
|webworker | number | false | false | (beta)是否开启webworker |## hook function and event function
```javascript
// websocket hook
websocketHeartbeatJs.onOpen = function () { // 连接 }
websocketHeartbeatJs.onMessage = function (e) {
// 发送消息
// e.data = ping message 内容
}
websocketHeartbeatJs.onReconnect = function () { // 重连 }
websocketHeartbeatJs.onClose = function () { // 关闭 }
websocketHeartbeatJs.onStart = function () { // 开始 }
websocketHeartbeatJs.onStop = function () { // 停止 }// useIt()
websocketHeartbeatJs.useIt('uuid').useIt('ua').useIt('userInfo', {
token: 'xxxx',
id: 'xxxx',
})
```