m_defaultpriority==0个单位错误



我使用WWW库在unity游戏中获取一些数据。一段时间后,unity编辑器中开始显示错误,称

m_DefaultPriority == 0
UnityEngine.WWW:.ctor

在团结论坛上,据说当有太多并发的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--;
    }

感谢

不要使用WWW,而是使用UnityWebRequest。下面的代码将WWW加载函数转换为新的Unitywebneneneba 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--;
}

最新更新