0.1.2 • Published 1 year ago

sa-websocket-ts v0.1.2

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

以下是关于 MyWebSocket 类的使用说明的 Markdown 文档:


MyWebSocket 使用说明

MyWebSocket` 类是一个用于封装 WebSocket 的 TypeScript 类,提供了心跳检测、自动重连和消息回调等功能。

说明文档

方法名入参说明
initurlsocket启动
configureWebSocketOptions设置配置参数
setHeartBeatOptionHeartbeatOptions设置心跳参数
setReconnectOptionReconnectOptions设置重连参数
setSendOptioninterval设置发送消息的间隔时间
setRegistercallback注册回调函数
unRegister注销回调函数
getWebSocket获取socket开关状态和websocket实例
senddata,callback(可选)发送消息
close主动关闭socket

接口定义

interface HeartbeatOptions {
  open: boolean;
  interval: number;
  msgBody: any;
}
参数默认值说明
openfalse是否开启心跳
interval5000(毫秒)心跳间隔频率
msgBodynull心跳发送内容
interface ReconnectOptions {
  open: boolean;
  count: number;
  interval: number;
}
参数默认值说明
opentrue是否开启重连
count3重连次数上限
interval1000(毫秒)重连频率
interface WebSocketOptions {
  url?: string;
  heartbeat?: HeartbeatOptions;
  reconnect?: ReconnectOptions;
  sendInterval?: number;
  onMessage?: Callback;
  onOpen?: () => void;
  onClose?: (code: number) => void;
  onError?: (event: Event) => void;
}
参数默认值说明
sendInterval1000(毫秒)多长时间后发送消息
onMessage注册的回调函数
onOpensocket成功连接后触发
onClosesocket断开连接后触发
onErrorsocket连接错误后触发

使用示例

实例化对象

import MyWebSocket from 'sa-websocket-ts';
const ws = new MyWebSocket('wss://example.com/socket');

设置心跳参数

ws.setHeartBeatOption({
  open: true,
  interval: 5000,
  msgBody: 'ping'
});

设置重连参数

ws.setReconnectOption({
  open: true,
  count: 3,
  interval: 1000
});

设置发送间隔

ws.setSendOption(1000);

设置消息回调

ws.setRegister((data) => {
  console.log('收到消息:', data);
});

注销消息回调

ws.unRegister();

初始化 WebSocket 连接

这里也可以设置连接路径

ws.init('wss://example.com/socket');

发送消息

ws.send({ type: 'greet', payload: 'hello' });

主动关闭 WebSocket 连接

ws.close();

获取WebSocket连接状态标识及Websocket实例

可以通过这个获取当前websocket的链接状态及Websocket实例

const { socket_open, websocket } = ws.getWebSocket();

配置 WebSocket

在实例化对象后,可以使用 configure 方法来配置 WebSocket。(不推荐)

ws.configure({
  url: 'wss://example.com/socket',
  heartbeat: {
    open: true,
    interval: 5000,
    msgBody: 'ping'
  },
  reconnect: {
    open: true,
    count: 3,
    interval: 1000
  },
  sendInterval: 1000,
  onMessage: (data) => {
    console.log('收到消息:', data);
  },
  onOpen: () => {
    console.log('WebSocket 连接已打开');
  },
  onClose: (code) => {
    console.log('WebSocket 连接已关闭,代码:', code);
  },
  onError: (event) => {
    console.error('WebSocket 发生错误:', event);
  }
});

注意事项

  • 确保浏览器支持 WebSocket。
  • 在初始化 WebSocket 连接前,可以通过 configure 方法进行必要的配置。
  • 使用 send 方法发送消息时,如果 WebSocket 连接未打开或中断,会自动尝试重新连接。

以上就是 MyWebSocket 类的使用说明。希望对你有所帮助!

0.1.2

1 year ago

0.1.11

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago