m_defaultpriority==0 ошибка в unity

Я получаю некоторые данные в игре, используя библиотеку.unityWWW
Через некоторое время в unity-редакторе начинает появляться сообщение об ошибке

m_DefaultPriority == 0
UnityEngine.WWW:.ctor

На форуме unity говорят, что это происходит, когда слишком много параллельных WWWпотоков. Но есть максимум 3 одновременных WWWпотока одновременно.
Может ли кто-нибудь сказать мне, какова возможная причина этой ошибки и как ее устранить.

Вот мой код создания соединения:

IEnumerator Load (ServerRequestData data,float delay=0)
    {
        if(delay>0)
            yield return new WaitForSeconds (delay);

        lastCallType = data.requestType;
        requestsAwaiting++;
        data.timeStamp= System.DateTime.Now.ToString ("yyyy-MM-dd HH:mm:ss:fff");

        double time= System.DateTime.Now.TimeOfDay.TotalMilliseconds;

        WWW www;
        if (data.requestFrom != null){
            www = new WWW (data.requestUrl, data.requestFrom);
        }else{
            www = new WWW (data.requestUrl);//Get request
        }

        this.concurrentWWWThreads++;

        yield return www;

        requestsAwaiting--;


        AfterResponse(www,data,time);

        www.Dispose();
        www=null;
        this.concurrentWWWThreads--;

    }

Спасибо

1 ответ

  1. Вместо использования WWWиспользуйте UnityWebRequestвместо. Приведенный ниже код преобразует вашу WWWфункцию загрузки в новый Unity web API. Так как ваш исходный код не завершен, я не смог протестировать его, поэтому он может не работать. Возможно, вам придется внести небольшие изменения, если это не сработает.

    IEnumerator Load(ServerRequestData data, float delay = 0)
    {
        if (delay > 0)
            yield return new WaitForSeconds(delay);
    
        lastCallType = data.requestType;
        requestsAwaiting++;
        data.timeStamp = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff");
    
        double time = System.DateTime.Now.TimeOfDay.TotalMilliseconds;
    
    
        UnityWebRequest www;
        if (data.requestFrom != null)
        {
            www = UnityWebRequest.Post(data.requestUrl, data.requestFrom);
        }
        else
        {
            www = UnityWebRequest.Get(data.requestUrl);
        }
    
        this.concurrentWWWThreads++;
    
        yield return www.Send();
    
        if (www.isError)
        {
            Debug.Log("Error Occoured: " + www.error);
        }
        else
        {
            Debug.Log("Successfully Uploaded Form!");
        }
    
        requestsAwaiting--;
    
    
        AfterResponse(www, data, time);
    
        www.Dispose();
        www = null;
        this.concurrentWWWThreads--;
    }