0.1.2 • Published 2 years ago
sa-websocket-ts v0.1.2
以下是关于 MyWebSocket 类的使用说明的 Markdown 文档:
MyWebSocket 使用说明
MyWebSocket` 类是一个用于封装 WebSocket 的 TypeScript 类,提供了心跳检测、自动重连和消息回调等功能。
说明文档
| 方法名 | 入参 | 说明 |
|---|---|---|
| init | url | socket启动 |
| configure | WebSocketOptions | 设置配置参数 |
| setHeartBeatOption | HeartbeatOptions | 设置心跳参数 |
| setReconnectOption | ReconnectOptions | 设置重连参数 |
| setSendOption | interval | 设置发送消息的间隔时间 |
| setRegister | callback | 注册回调函数 |
| unRegister | 注销回调函数 | |
| getWebSocket | 获取socket开关状态和websocket实例 | |
| send | data,callback(可选) | 发送消息 |
| close | 主动关闭socket |
接口定义
interface HeartbeatOptions {
open: boolean;
interval: number;
msgBody: any;
}| 参数 | 默认值 | 说明 |
|---|---|---|
| open | false | 是否开启心跳 |
| interval | 5000(毫秒) | 心跳间隔频率 |
| msgBody | null | 心跳发送内容 |
interface ReconnectOptions {
open: boolean;
count: number;
interval: number;
}| 参数 | 默认值 | 说明 |
|---|---|---|
| open | true | 是否开启重连 |
| count | 3 | 重连次数上限 |
| interval | 1000(毫秒) | 重连频率 |
interface WebSocketOptions {
url?: string;
heartbeat?: HeartbeatOptions;
reconnect?: ReconnectOptions;
sendInterval?: number;
onMessage?: Callback;
onOpen?: () => void;
onClose?: (code: number) => void;
onError?: (event: Event) => void;
}| 参数 | 默认值 | 说明 |
|---|---|---|
| sendInterval | 1000(毫秒) | 多长时间后发送消息 |
| onMessage | 注册的回调函数 | |
| onOpen | socket成功连接后触发 | |
| onClose | socket断开连接后触发 | |
| onError | socket连接错误后触发 |
使用示例
实例化对象
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 类的使用说明。希望对你有所帮助!