SuperAPI AI 工具集

websocket-realtime-builder

安全与审计

查看项目

更新于 10-16 07:56

技能介绍

用途:按资料所述,该技能用于构建实时应用,使用 WebSocket 与 Socket.io 实现实时更新、聊天、在线状态与通知等能力,适用于用户提出“实时更新”类需求时。

主要能力:选择 Socket.io 或原生 WebSocket;搭建 WebSocket 服务端;连接认证与校验;使用房间与命名空间对连接分组;定义事件处理器(如加入/离开房间、发送消息、输入提示);断线重连与错误处理;在线状态(online/away/busy/offline)与实时通知;并建议在生产中用 Redis adapter 进行扩展。

安装:服务端 npm install socket.io;客户端 npm install socket.io-client。

使用方式:服务端用 Socket.io 的 Server 挂载到 HTTP 服务,设置 CORS、pingInterval/pingTimeout,并通过 io.use 中间件校验 token;连接后加入 user:<id> 等个人房间,在命名空间(如 /chat)下处理 join-room、leave-room、send-message、typing-start、typing-stop 等事件。客户端用 socket.io-client 创建带 auth token 的 socket,配置 reconnection、reconnectionAttempts、reconnectionDelay 等,并监听 connect、disconnect、connect_error、reconnect、reconnect_failed,重连后可通过 sync-state 重新同步。代码示例中给出了 React 的 useSocket、useChat、useNotifications 钩子与 ChatRoom 组件、NotificationService 事件推送、Presence 系统等实现。

适用场景:聊天室、实时通知、在线状态、订单提醒等需要服务端主动推送的功能。

限制:资料未提供该技能的收费、价格、平台支持范围与效果数据,暂未提供;实现需自行配置环境变量(如 CLIENT_URL、NEXT_PUBLIC_WS_URL)与鉴权、数据库逻辑。