Add websocket support using socket.io (w/fallback)