WebSocket with automatic reconnection and client side failover