m_defaultpriority==0个单位错误
本文关键字:单位 错误 0个 defaultpriority | 更新日期: 2025-02-19 12:50:22
我使用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--;
}