Возникла такая вот проблемка: У меня имеется скрипт асинхронных запросов на сервер через HTTP Web Request. Вся соль в том, что в первый раз запрос уходит, а во второй раз запрос не уходит.
Дебагер к сожалению молчит. В ручную только смог определить что скрипт не уходит в событие ReadCallback (см. скрипт ниже). Видимо где-то забыл закрыть поток.
Пожалуйста помогите, спать хочу, голова не варит - найти не могу где что не так.
Скрипт:
Код
//=============================== // Класс отправки запроса // Neonix: Online (14.02.14) // Версия: 0.0.1.0a //=============================== using UnityEngine; using System.Collections; using System.Net; using System.Text; using System.IO; using System; using System.Threading;
public class AJAX : MonoBehaviour { public string SRV; public static ManualResetEvent allDone= new ManualResetEvent(false); public string pMessage; public string FromServer; public bool WaitingDone = false;
public void ReadCallback(IAsyncResult asynchronousResult) { HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; // End the operation. Stream postStream = request.EndGetRequestStream(asynchronousResult);
string postData = pMessage;
// Convert the string into a byte array. byte[] byteArray = Encoding.UTF8.GetBytes(postData); // Write to the request stream. postStream.Write(byteArray, 0, postData.Length); postStream.Close(); allDone.Set(); Camera.main.GetComponent<BlurEffect> ().enabled = true; Camera.main.GetComponent<BlurEffect> ().blurSpread = 0.75f; } }
Добавлено (16.02.2014, 21:50) --------------------------------------------- Спасибо, наконец сам нашел ошибку спустя 3 часа. Как говориться, глаза яйца...
Ошибка была в том, что я не сделал allDone.Reset(); в ResponceCallback()