我有使用UnityWebRequest来调用网络服务器的代码。调试它显示它甚至从不调用服务器并始终返回0字节。我已经将调试器附加到我的服务器上,并且可以看到它没有被调用。
即使尝试调用谷歌仍然有一个空的结果。这些测试是在统一编辑器中完成的。
在使用网络库之前,我需要启用哪些内容?
void Awake() {
StartCoroutine("CallWebserverCR");
}
IEnumerator CallWebserverCR()
{
UnityWebRequest www = UnityWebRequest.Get("http://www.google.com");
yield return www.Send();
if (www.isError)
{
Debug.Log(www.error);
}
else
{
Debug.Log(www.downloadHandler.text);
byte[] results = www.downloadHandler.data;
}
}
答案 0 :(得分:1)
我的代码和Unity之间的唯一区别就是他们有一个'使用'语句:
IEnumerator GetText() {
using(UnityWebRequest www = UnityWebRequest.Get("http://www.my-server.com")) {
yield return www.Send();
if(www.isError) {
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;
}
}
}