WebSocket 1006 Abnormal Closure vs 1013 Try Again Later
Both WebSocket 1006 (Abnormal Closure) and 1013 (Try Again Later) belong to the WebSocket Close Codes category. 1006 indicates that a reserved value indicating the connection was closed abnormally without a Close frame being sent. This code must not be set by an endpoint. Meanwhile, 1013 means that the server is terminating the connection due to a temporary condition, such as being overloaded. The client should reconnect after a back-off period.
คำอธิบาย
A reserved value indicating the connection was closed abnormally without a Close frame being sent. This code must not be set by an endpoint.
เมื่อคุณพบเห็น
The TCP connection dropped unexpectedly — the server crashed, the network cable was unplugged, or a firewall killed the idle connection. No proper WebSocket Close handshake occurred.
วิธีแก้ไข
Implement reconnection with exponential backoff. Use WebSocket ping/pong frames to detect dead connections early. Check for network-level timeouts or aggressive load balancer idle limits.
คำอธิบาย
The server is terminating the connection due to a temporary condition, such as being overloaded. The client should reconnect after a back-off period.
เมื่อคุณพบเห็น
The server is temporarily overloaded or throttling connections. Unlike 1012, this does not indicate a restart — the server is running but cannot serve more clients right now.
วิธีแก้ไข
Reconnect using exponential backoff (start at 1 second, double each attempt). If persistent, investigate server capacity, scale horizontally, or reduce the number of concurrent connections.
ความแตกต่างหลัก
WebSocket 1006: A reserved value indicating the connection was closed abnormally without a Close frame being sent. This code must not be set by an endpoint.
WebSocket 1013: The server is terminating the connection due to a temporary condition, such as being overloaded. The client should reconnect after a back-off period.
You encounter 1006 when the TCP connection dropped unexpectedly — the server crashed, the network cable was unplugged, or a firewall killed the idle connection. No proper WebSocket Close handshake occurred.
You encounter 1013 when the server is temporarily overloaded or throttling connections. Unlike 1012, this does not indicate a restart — the server is running but cannot serve more clients right now.
ควรใช้อันไหนเมื่อไร
For 1006 (Abnormal Closure): Implement reconnection with exponential backoff. Use WebSocket ping/pong frames to detect dead connections early. Check for network-level timeouts or aggressive load balancer idle limits. For 1013 (Try Again Later): Reconnect using exponential backoff (start at 1 second, double each attempt). If persistent, investigate server capacity, scale horizontally, or reduce the number of concurrent connections.