m_defaultpriority == 0团结错误

时间:2016-05-06 10:03:51

标签: c# unity3d

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

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 个答案:

答案 0 :(得分:0)

而不是使用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--;
}