1.1.1 • Published 18 days ago

websocket-front v1.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
18 days ago

websocket-front

前端对原生 WebSocket 的封装,默认支持自动重连,支持心跳检测

技术栈

typescript + rollup

安装

yarn add websocket-front

# 或

npm install websocket-front

使用

最简单的连接:支持自动重连,支持心跳检测

import Socket from 'websocket-front';
const socket = new Socket('ws://127.0.0.1:3001')

配置项

import Socket from 'websocket-front';
const receiveMessage = (message: Event) => {
  console.log('接收到的消息:', message)
}
const errorCallback = (error: Event) => {
  console.log('错误信息', error)
}
const closeCallback = (event: Event) => {
  console.log('关闭了', event)
}
const socket = new Socket('ws://127.0.0.1:3001', {
  // 重连
  isReconnect: true,
  reconnectTimeout: 300,
  reconnectRepeat: 5,
  // 心跳检测
  isHeartbeat: true,
  pingMsg: JSON.stringify({
          messageType: "0",
          content: "ping",
        }),
  pingTimeout: 300,
  pongTimeout: 300,
  // 回调
  onMessage: receiveMessage,
  onError: errorCallback,
  onClose: closeCallback,
})

方法

import Socket from 'websocket-front';
const socket = new Socket('ws://127.0.0.1:3001')

// 发送消息
socket.send('发送WebSocket消息');

// 关闭WebSocket
socket.close()

API

第一个参数

名称类型描述默认值
urlstringwebsocket 地址

第二个参数对象

名称类型描述默认值
isReconnectboolean是否需要自动重连true
reconnectTimeoutnumber自动重连间隔时间300ms
reconnectRepeatnumber尝试自动重连的次数3
isHeartbeatboolean是否支持心跳检测
pingMsgstring心跳检测发送给后端的消息'ping'
pingTimeoutnumber发送心跳检测消息的延迟时间30s
pongTimeoutnumber多长时间没有收到返回的心跳就重启300ms
protocolsstring[]指定子协议[]

事件

名称类型描述默认值
onOpen(event:Event) => voidWebSocket 打开了的回调
onMessage(event:Event) => void收到后端返回的消息后的回调
onError(error: Event) => void收到错误信息后的回调
onClose(event: Event) => voidWebSocket 关闭了的回调

方法

事件名称说明回调函数
send向后端发送消息
close关闭 WebSocket

兼容性

电脑端

浏览器支持的版本
chrome5+
Edge12+
Safari4+
Firefox7+
Opera10+
IE10+

移动端

浏览器支持的版本
Chrome for Android115+
Safari on IOS4.2 +
Samsung Internet4+
Opera Mobile12.1+
Android Browser4.4+
Firefox for Android115+
1.1.1

18 days ago

1.1.0

18 days ago

1.0.9

8 months ago

1.0.8

8 months ago

1.0.7

8 months ago

1.0.6

8 months ago

1.0.5

9 months ago

1.0.4

9 months ago

1.0.3

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago