three kinds of websocket subscribe