Unity的UnityWebRequest如果设置了timeout,在超时后会有一个Curl error 28的报错,很是讨厌,强迫症患者可以用下面的办法过滤掉。
async private void Start()
{
UnityWebRequest unityWeb;
unityWeb = new UnityWebRequest(url, "Get");
unityWeb.downloadHandler = new DownloadHandlerBuffer();
//unityWeb.timeout = 3;
var taskget = unityWeb.SendWebRequest();
await Task.Delay(3000);
if (unityWeb.result != UnityWebRequest.Result.Success)
{
Debug.LogWarning("Http获取远程文件失败: " + unityWeb.result.ToString() + " , Url:" + url);
loaderror = true;
}
unityWeb.Dispose();
}
核心思想就是不用timeout,直接3秒后就判断就是下载到了。
文章介绍了如何避免UnityWebRequest在设置超时后出现Curlerror28错误的方法。通过创建一个异步任务,在3秒后检查请求状态,而不是直接设置timeout,可以判断请求是否成功,从而过滤掉超时错误。这种方法对于处理网络请求的异常情况提供了一种解决方案。
1万+

被折叠的 条评论
为什么被折叠?



