building-websocket-server
Installation
SKILL.md
Building WebSocket Server
Overview
Build scalable WebSocket servers for real-time bidirectional communication using the ws library, Socket.IO, or native framework WebSocket support. Handle connection lifecycle management, room/channel subscriptions, message broadcasting, heartbeat keepalive, and horizontal scaling with Redis pub/sub adapters.
Prerequisites
- Node.js 18+ with
wsorsocket.io, or Python 3.10+ withwebsocketsor FastAPI WebSocket, or Go withgorilla/websocket - Redis for horizontal scaling with pub/sub adapter (Socket.IO Redis adapter, or manual pub/sub)
- Load balancer configured for WebSocket upgrade (sticky sessions or proper
Upgradeheader forwarding) - JWT or session-based authentication for connection handshake
- Monitoring for active connection counts and message throughput
Instructions
- Examine existing HTTP server configuration using Read and Grep to determine the framework and identify where WebSocket upgrade handling integrates.
- Create a WebSocket server instance attached to the existing HTTP server, configuring the upgrade path (e.g.,
/ws,/socket.io) and allowed origins. - Implement connection authentication by validating JWT tokens or session cookies during the WebSocket handshake
upgradeevent, rejecting unauthorized connections before protocol switch. - Build a connection registry that tracks active clients with metadata (user ID, subscribed channels, connection time) for targeted message delivery.
Related skills