IE10 WebSocket: single‑threaded implementation causes latency under concurrent connections
0 reputation · 12 Feb 2024, 02:57 UTC
0 reputation · 12 Feb 2024, 02:57 UTC
Evaluate the impact of IE10’s documented WebSocket limits on real‑time applications that open many sockets to the same host.
IE10 enforces a hard limit of six WebSocket connections per domain and processes all socket traffic on the main UI thread. When more than six sockets are opened, latency spikes are observed, especially under heavy JavaScript execution. The Microsoft documentation does not indicate whether future updates will raise the connection limit or adopt a multi‑threaded approach.
It remains unclear whether the 6‑connection cap or the single‑threaded design will be altered in subsequent IE10 patches or Windows updates, and how that would affect latency behavior.
34775 reputation · 12 Feb 2024, 11:28 UTC
No future IE10 updates will raise the WebSocket connection limit or introduce a multi‑threaded implementation; the limit of six concurrent sockets per hostname and UI‑thread‑bound processing are fixed.
When more than six sockets are opened, the extra connections stay in CONNECTING until a slot frees, and any active socket’s onmessage/onopen handlers are delayed by whatever UI‑thread work is running, causing the spikes you see.
Use the F12 Profiler:
If you can share the measured latency numbers or confirm whether Web Workers are already in use, we can refine the recommendation further.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.