@ng-mfe/websocket
v0.1.1
Published
WebSocket connection management for real-time communication
Readme
@ng-mfe/websocket
WebSocket 服务 — 管理多连接,支持自动重连、消息收发与连接状态监听。
安装
npm install @ng-mfe/websocket用法
import { WebSocketService } from '@ng-mfe/websocket';
const ws = new WebSocketService();
// 建立连接
const conn = ws.connect('wss://api.example.com/ws', {
autoReconnect: true,
reconnectInterval: 3000,
maxReconnectAttempts: 5,
});
// 监听消息
const unsub = ws.onMessage(conn.id, data => {
console.log('收到消息:', data);
});
// 监听连接状态
ws.onStatus(conn.id, status => {
console.log('连接状态:', status);
});
// 发送消息
ws.send(conn.id, { type: 'ping' });
// 查询状态
ws.getStatus(conn.id); // 'connected' | 'connecting' | 'disconnected' | 'error'
ws.getConnectionIds(); // 所有连接 ID
// 断开连接
ws.disconnect(conn.id);
ws.disconnectAll();API 接口
- WebSocketService — WebSocket 连接管理服务
connect(url, options?)— 建立连接,返回WsConnectiondisconnect(id)— 断开指定连接disconnectAll()— 断开所有连接send(connectionId, data)— 发送消息(自动 JSON 序列化)onMessage(connectionId, handler)— 监听消息,返回取消订阅函数onStatus(connectionId, handler)— 监听连接状态变更getStatus(connectionId)— 获取连接状态getConnectionIds()— 获取所有连接 ID
- 类型:
WsOptions、WsConnection、ConnectionStatus、MessageHandler、StatusHandler
配置选项
WsOptions 连接选项:
| 字段 | 类型 | 说明 |
| ---------------------- | --------------------- | ----------------------------- |
| autoReconnect | boolean? | 是否自动重连(默认 true) |
| reconnectInterval | number? | 重连间隔毫秒数(默认 3000) |
| maxReconnectAttempts | number? | 最大重连次数(默认 5) |
| protocols | string \| string[]? | WebSocket 子协议 |
文档
查看主 README 获取完整文档。
