Fix bugs, use dataconnection instead of websocket