SuperAPI AI 工具集

websockets

通用与其它

查看项目

更新于 10-16 07:25

技能介绍

用途:该技能面向在 NestJS 中构建实时双向通信功能,适用实时聊天、实时通知、协作工具(实时编辑、白板)、多人游戏、实时仪表盘等场景。

主要能力:通过 gateway 组织 WebSocket 逻辑,支持 Socket.io(默认)或 ws 库;可用 @WebSocketGateway、@SubscribeMessage、@WebSocketServer、@ConnectedSocket 等装饰器处理连接、断开与消息;支持返回单值、Promise、Observable(含 WsResponse 多响应);支持生命周期钩子 OnGatewayInit、OnGatewayConnection、OnGatewayDisconnect;支持命名空间、房间与广播;支持守卫、拦截器、异常过滤器(WsException)以及自定义参数装饰器。

安装:Socket.io 用 npm i @nestjs/websockets @nestjs/platform-socket.io;ws 用 npm i @nestjs/websockets @nestjs/platform-ws。

使用方式:定义带 @WebSocketGateway() 的类,在方法上用 @SubscribeMessage('事件名') 监听事件,返回值自动回传客户端;可在 @WebSocketGateway 中配置 cors、namespace、path、port、transports 等;用 @UseGuards、@UseInterceptors、@UseFilters 应用到 gateway 或方法。

限制与注意:资料提供了客户端 Socket.io 示例与最佳实践,包括使用命名空间、鉴权、处理断开、合理使用房间、限流、错误处理、心跳、外部存储连接状态、二进制事件与测试等,但未提供具体收费、价格、平台或性能数据,这些暂未提供。