private void InitClient(SnipeClient client, SnipeServerConfig config, ExpandoObject request, Action <ExpandoObject> callback)
        {
            mRequestData = request;
            mCallback    = callback;

            mClient = client;
            mClient.Init(config.host, config.port, config.websocket);
            mClient.ConnectionSucceeded += OnConnectionSucceeded;
            mClient.ConnectionFailed    += OnConnectionFailed;
            mClient.ConnectionLost      += OnConnectionFailed;
            mClient.Connect();
        }
        public static void Request(SnipeServerConfig config, ExpandoObject request, Action <ExpandoObject> callback)
        {
            // ????
            //if (mClient != null)
            //	DisposeClient();

            SnipeClient client = SnipeClient.CreateInstance(SnipeConfig.Instance.snipe_client_key, "SnipeSingleRequestClient", false);

            client.AppInfo = SnipeConfig.Instance.snipe_app_info;
            SingleRequestClient instance = client.gameObject.AddComponent <SingleRequestClient>();

            instance.InitClient(client, config, request, callback);
        }