Unity 3D c#yield返回www挂起特定的URL

时间:2015-09-02 09:10:56

标签: c# unity3d

我正在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在同一台机器上运行速度很快。客户端。

有谁知道可能导致此行为的原因?

1 个答案:

答案 0 :(得分:2)

有一次我也遇到了同样的问题。那时,问题是一个URL花了太多时间来回复。根据我的代码的逻辑,附加了monobehavior并且coorutine正在运行的GameObject被禁用,导致带有协同程序的游戏对象死亡。我想我应该分享我的问题。