Ejemplo n.º 1
0
        IEnumerator checkInternetConnection(string url)
        {
            ITTNetworkRequest testRequest = new ITTNetworkRequest(url, null, null, DateTime.Now);

            _activeRequests.Add(testRequest);

                        #if UNITY_IPHONE
            while (null != testRequest.www && !testRequest.www.isDone)
            {
                yield return(null);
            }
                        #else
            yield return(testRequest.www);
                        #endif

            _attemptingReconnect = false;

            if (null != testRequest.www && string.IsNullOrEmpty(testRequest.www.error))
            {
                connectionError  = false;
                networkRecovered = true;
                ITTDataCache.Instance.Data.ResetWaitOnServerForAllEntries();
                ITTDataCache.Instance.Data.RefreshAllData(true);
            }
        }
Ejemplo n.º 2
0
        private IEnumerator _PerformRequest <T>(string url, string jsonData, Action <T> callback, Action <string> errorCallback, bool bufferCall = true) where T : class
        {
            if (connectionError)
            {
                if (null != errorCallback)
                {
                    errorCallback(HelperMethods.Instance.Error_NetworkTimeOut);
                    yield break;
                }
            }

            byte[] encodedJSON = null;

            if (!string.IsNullOrEmpty(jsonData))
            {
                var encoding = new UTF8Encoding();
                encodedJSON = encoding.GetBytes(jsonData);
            }

            // Save this call in case it fails due to session credentials
            if (bufferCall)
            {
                bufferedCall = new BufferedCall(url, jsonData, callback as Action <string>, errorCallback);
            }

            ITTNetworkRequest networkRequest = new ITTNetworkRequest(url, encodedJSON, PostHeader(), DateTime.Now);

            _activeRequests.Add(networkRequest);

                        #if UNITY_IPHONE
            while (null != networkRequest.www && !networkRequest.www.isDone)
            {
                yield return(null);
            }
                        #else
            yield return(networkRequest.www);
                        #endif

            _WWWRequest(networkRequest.www, callback, errorCallback);
        }