← Workflows

阅读中文版本

WebSocket Connection Management Workflow

Implement WebSocket connection lifecycle management with reconnection, heartbeat, and graceful shutdown for reliable real-time communication.

intermediate~50 minwebsocketreconnectionworkflow

Objective

Build a robust WebSocket client that handles disconnections and reconnections transparently.

Environment

  • A WebSocket server endpoint
  • A client application needing real-time updates
  • A reconnection strategy with exponential backoff

Steps

1. Implement heartbeat

Add a ping-pong heartbeat to detect dead connections within 30 seconds.

Expected state: Dead connections are detected and closed.

2. Add reconnection

Implement automatic reconnection with exponential backoff after disconnection.

Expected state: The client reconnects automatically after network interruptions.

3. Handle messages

Add message queuing during disconnection and flush on reconnect.

Expected state: Messages sent during disconnection are delivered after reconnection.

4. Graceful shutdown

Implement clean connection closure on page unload or app shutdown.

Expected state: Connections are closed cleanly without orphaned sockets.

Decision points

How many reconnection attempts?

  • Unlimited with backoff
  • Limited with user notification

Use unlimited attempts with exponential backoff; notify the user after repeated failures.

Expected outcome

WebSocket connections are managed with heartbeat, reconnection, and graceful shutdown for reliable communication.

Verification

Disconnect the network and verify the client reconnects; close the app and confirm no orphaned connections on the server.

Cleanup

Clean up WebSocket connections on page unload to avoid server-side resource leaks.

Connections fail; plan for it

Network connections are unreliable by default. Heartbeats detect failures early, and reconnection strategies recover automatically.

Implementation Notes

This workflow provides a structured approach to ensure consistent results across team members and environments.

Common Pitfalls

Skipping verification steps or rushing through the process can lead to incomplete results. Always follow each step in order and verify before proceeding.

Quick Reference

# Execute the workflow steps as documented above
echo "Workflow completed successfully"