0.1.2 • Published 1 year 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
类的使用说明。希望对你有所帮助!