我正在Unity中构建一个策略游戏,它使用HTTP与服务器通信,通过WWW请求检索JSON对象。到目前为止它已经正常工作,但是最近我添加了一个遇到奇怪问题的测试人员。注册过程调用的其中一个URL挂在IEnumerator的“yield return www”上。用户尝试了两台不同的机器和两台不同的互联网提供商,这表明这不是环境问题。
这是IEnumerator代码:
IEnumerator WaitForRequest(WWW www)
{
addLogEntry("IEnumerator: "+www.url);
yield return www;
if (www.error == null)
{
addLogEntry("IEnumerator: " + www.url+" no error");
// do stuff
}
else
{
addLogEntry("IEnumerator: " + www.url + " " + www.error);
Debug.Log("WWW Error: " + www.error);
}
}
url为所有用户返回相同的值,只有一个有此问题。服务器端没有错误,没有连接问题,因为所有其他URL在同一台机器上运行速度很快。客户端。
有谁知道可能导致此行为的原因?
答案 0 :(得分:2)
有一次我也遇到了同样的问题。那时,问题是一个URL花了太多时间来回复。根据我的代码的逻辑,附加了monobehavior并且coorutine正在运行的GameObject被禁用,导致带有协同程序的游戏对象死亡。我想我应该分享我的问题。