从服务器获取数据,并且数据未从服务器更新,它保留旧数据

时间:2019-05-29 12:54:11

标签: c# php unity3d server

我正在使用UnityWebRequest从服务器获取数据。第一次收到数据时,当我在服务器中更新数据时,统一数据不会更新,并且会显示旧数据。我必须清除缓存,然后再次从服务器获取数据。

这是代码。

public Text mytext;

void Start() 
{
    StartCoroutine(GetText());
}

IEnumerator GetText() 
{
    UnityWebRequest www = UnityWebRequest.Get("https://www.simplearcadegamers.com/wp-content/uploads/2019/GetData.php");
    yield return www.SendWebRequest();

    if(www.isNetworkError || www.isHttpError) 
    {
        Debug.Log(www.error);
    }
    else 
    {
        // Show results as text
        Debug.Log(www.downloadHandler.text);

        // Or retrieve results as binary data
        byte[] results = www.downloadHandler.data;
    }
}

1 个答案:

答案 0 :(得分:1)

Unity WWW默认情况下会缓存结果,作为一种快速的解决方法,您可以在URL的末尾附加一个随机查询,以确保它始终返回新的结果,例如?random=<generate random number here>-参见:https://answers.unity.com/questions/209078/disable-cache-for-www.html

执行此操作的正确方法是放弃使用现在过时的WWW类,并通过UnityWebRequest和禁用缓存执行正确的新请求。