Ejemplo n.º 1
0
        /// <summary>
        /// Post请求
        /// </summary>
        /// <param name="url"></param>
        /// <param name="callBack"></param>
        /// <param name="dic"></param>
        public void PostUrl(string url, HttpSendDataCallBack callBack, Dictionary <string, string> dic)
        {
            //支持多个HttpRoutine,从对象池中取出HttpRoutine
            HttpRoutine http = GameEntry.Pool.DequeueClassObject <HttpRoutine>();

            http.PostUrl(url, callBack, dic);
        }
        /// <summary>
        /// 发送web数据
        /// </summary>
        /// <param name="url"></param>
        /// <param name="callBack"></param>
        /// <param name="isPost"></param>
        /// <param name="json"></param>
        public void SendData(string url, HttpSendDataCallBack callBack, bool isPost = false, bool isGetData = false, Dictionary <string, object> dic = null)
        {
            //支持多个HttpRoutine,从对象池中取出HttpRoutine
            HttpRoutine http = GameEntry.Pool.DequeueClassObject <HttpRoutine>();

            http.SendData(url, callBack, isPost, isGetData, dic);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Get请求
        /// </summary>
        /// <param name="url"></param>
        /// <param name="callBack"></param>
        public void GetUrl(string url, HttpSendDataCallBack callBack)
        {
            //支持多个HttpRoutine,从对象池中取出HttpRoutine
            HttpRoutine http = GameEntry.Pool.DequeueClassObject <HttpRoutine>();

            http.GetUrl(url, callBack);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 发送Http数据
        /// </summary>
        /// <param name="url"></param>
        /// <param name="callBack"></param>
        /// <param name="isPost"></param>
        /// <param name="json"></param>
        public void SendData(string url, HttpSendDataCallBack callBack, bool isPost = false, Dictionary <string, object> dic = null)
        {
            Debug.Log("从池中获取Http访问器");

            HttpRoutine http = GameEntry.Pool.SpawnClassObject <HttpRoutine>();

            http.SendData(url, callBack, isPost, dic);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Get请求
        /// </summary>
        /// <param name="url"></param>
        /// <param name="callBack"></param>
        public void GetUrl(string url, HttpSendDataCallBack callBack)
        {
            if (IsBusy)
            {
                return;
            }
            IsBusy = true;

            UnityWebRequest data = UnityWebRequest.Get(url);

            GameEntry.Http.StartCoroutine(Request(data, callBack));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 发送web数据
        /// </summary>
        /// <param name="url"></param>
        /// <param name="callBack"></param>
        /// <param name="isPost"></param>
        /// <param name="isGetData">是否获取字节数据</param>
        /// <param name="dic"></param>
        public void SendData(string url,
                             HttpSendDataCallBack callBack,
                             bool isPost    = false,
                             bool isGetData = false,
                             Dictionary <string, object> dic = null)
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy      = true;
            m_CallBack  = callBack;
            m_IsGetData = isGetData;

            if (!isPost)
            {
                GetUrl(url);
            }
            else
            {
                //web加密
                if (dic != null)
                {
                    //客户端标识符
                    dic["deviceIdentifier"] = DeviceUtil.DeviceIdentifier;

                    //设备型号
                    dic["deviceModel"] = DeviceUtil.DeviceModel;

                    long t = GameEntry.Data.SysDataManager.CurrServerTime;
                    //签名
                    dic["sign"] = EncryptUtil.Md5(string.Format("{0}:{1}", t, DeviceUtil.DeviceIdentifier));

                    //时间戳
                    dic["t"] = t;
                }

                string json = string.Empty;
                if (dic != null)
                {
                    json = JsonMapper.ToJson(dic);
                    if (!m_IsGetData)
                    {
                        GameEntry.Log(LogCategory.Proto, "<color=#ffa200>发送消息:</color><color=#FFFB80>" + url + "</color>");
                        GameEntry.Log(LogCategory.Proto, "<color=#ffdeb3>==>>" + json + "</color>");
                    }
                    GameEntry.Pool.EnqueueClassObject(dic);
                }

                PostUrl(url, json);
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 发送web数据
        /// </summary>
        /// <param name="url"></param>
        /// <param name="callBack"></param>
        /// <param name="isPost"></param>
        /// <param name="json"></param>
        public void SendData(string url, HttpSendDataCallBack callBack, bool isPost = false, bool isGetData = false, Dictionary <string, object> dic = null)
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy      = true;
            m_CallBack  = callBack;
            m_isGetData = isGetData;

            if (!isPost)
            {
                GetUrl(url);
            }
            else
            {
                //web加密
                if (dic != null)
                {
                    //客户端标识符
                    dic["deviceIdentifier"] = DeviceUtil.DeviceIdentifier;

                    //设备型号
                    dic["deviceModel"] = DeviceUtil.DeviceModel;

                    //long t = GameEntry.Data.SysData.CurrServerTime;
                    ////签名
                    //dic["sign"] = EncryptUtil.Md5(string.Format("{0}:{1}", t, DeviceUtil.DeviceIdentifier));

                    ////时间戳
                    //dic["t"] = t;
                }

                string json = string.Empty;
                if (dic != null)
                {
                    json = JsonMapper.ToJson(dic);
#if DEBUG_LOG_PROTO
                    Debug.Log("Http打印通讯协议");
#endif
                    GameEntry.Pool.EnqueueClassObject(dic);
                }

                PostUrl(url, json);
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Post请求
        /// </summary>
        /// <param name="url"></param>
        /// <param name="callBack"></param>
        /// <param name="dic"></param>
        public void PostUrl(string url, HttpSendDataCallBack callBack, Dictionary <string, string> dic)
        {
            if (IsBusy)
            {
                return;
            }
            IsBusy = true;

            //web加密
            if (dic != null)
            {
                //客户端标识符
                dic["deviceIdentifier"] = DeviceUtil.DeviceIdentifier;
                //设备型号
                dic["deviceModel"] = DeviceUtil.DeviceModel;
            }

            string json = string.Empty;

            if (dic != null)
            {
                //json = JsonMapper.ToJson(dic);

                #if DEBUG_LOG_PROTO
                Debug.Log("Http打印通讯协议");
                #endif

                GameEntry.Pool.EnqueueClassObject(dic);
            }

            //定义一个表单
            WWWForm form = new WWWForm();
            //给表单添加值
            form.AddField("", json);

            UnityWebRequest data = UnityWebRequest.Post(url, form);
            GameEntry.Http.StartCoroutine(Request(data, callBack));
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 请求服务器
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        private IEnumerator Request(UnityWebRequest data, HttpSendDataCallBack callBack)
        {
            yield return(data.SendWebRequest());

            IsBusy = false;

            if (data.isHttpError || data.isNetworkError)
            {
                m_CallBackArgs.HasError = true;
                m_CallBackArgs.Value    = data.error;
            }
            else
            {
                m_CallBackArgs.HasError = false;
                m_CallBackArgs.Value    = data.downloadHandler.text;
            }

            callBack?.Invoke(m_CallBackArgs);

            data.Dispose();

            //支持多个HttpRoutine,结束之后回池
            GameEntry.Pool.EnqueueClassObject(this);
        }
Ejemplo n.º 10
0
 /// <summary>
 /// 发送Http数据
 /// </summary>
 /// <param name="url"></param>
 /// <param name="callBack"></param>
 /// <param name="isPost"></param>
 /// <param name="isGetData"></param>
 /// <param name="dic"></param>
 public void SendData(string url, HttpSendDataCallBack callBack, bool isPost = false, bool isGetData = false, Dictionary <string, object> dic = null)
 {
     m_HttpManager.SendData(url, callBack, isPost, isGetData, dic);
 }
Ejemplo n.º 11
0
 /// <summary>
 /// 发送Http数据
 /// </summary>
 /// <param name="url">Http请求地址</param>
 /// <param name="callBack">Http请求回调</param>
 /// <param name="isPost">是否post请求</param>
 /// <param name="dic">请求数据</param>
 public void SendData(string url, HttpSendDataCallBack callBack, bool isPost, Dictionary <string, object> dic)
 {
     m_HttpManager.SendData(url, callBack, isPost, dic);
 }
Ejemplo n.º 12
0
 /// <summary>
 /// 发送Http数据 Get请求
 /// </summary>
 /// <param name="url">Http请求地址</param>
 /// <param name="callBack">Http请求回调</param>
 public void SendData(string url, HttpSendDataCallBack callBack)
 {
     SendData(url, callBack, false, null);
 }
Ejemplo n.º 13
0
 /// <summary>
 /// Post请求
 /// </summary>
 /// <param name="url"></param>
 /// <param name="callBack"></param>
 /// <param name="dic"></param>
 public void PostUrl(string url, HttpSendDataCallBack callBack, Dictionary <string, string> dic)
 {
     m_HttpManager.PostUrl(url, callBack, dic);
 }
Ejemplo n.º 14
0
 /// <summary>
 /// Get请求
 /// </summary>
 /// <param name="url"></param>
 /// <param name="callBack"></param>
 public void GetUrl(string url, HttpSendDataCallBack callBack)
 {
     m_HttpManager.GetUrl(url, callBack);
 }