我試圖處理丟失網絡連接,在Unity3d加載外部數據時。Unity3d WWW和網絡連接錯誤
我的應用程序拉大量的數據從一臺服務器,並沒有一個NetConnection的應用程序出現故障,通信的問題給用戶。
我使用WWW類的所有數據檢索,並想利用處理WWW以及網絡連接丟失。
我的主要問題是,WWW類返回的錯誤性質:
「拒絕,因爲沒有任何的crossdomain.xml策略文件,找到」
當我拉我的網線從我的電腦。
我無法弄清楚如何區分丟失crossdomain.xml文件,我想在丟失網絡連接,因爲它們是完全不同的問題。
我不想「解釋」所有「跨域策略錯誤」網絡損失,因爲他們可能沒有。
我的加載數據的代碼如下所示:
public class SendAndLoadData : MonoBehaviour
{
public delegate void SuccessEventHandler(string data);
public delegate void ErrorEventHandler(string msg);
public void SendData(string url, SuccessEventHandler onSuccess, ErrorEventHandler onError) {
StartCoroutine(LoadRemoteData(url,onSuccess,onError));
}
IEnumerator LoadRemoteData(string path, SuccessEventHandler onSuccess, ErrorEventHandler onError)
{
var _www = new WWW(path);
yield return _www;
if (_www.error != null)
{
if (onError != null) {
onError(_www.error);
}
}
else
{
var data = _www.text;
if (onSuccess != null) {
onSuccess(data);
}
}
}
}
任何建議,將不勝感激。
謝謝您的答覆。我正在從編輯器進行測試,並且我的構建設置是爲網頁播放器設置的。我簡單地從電腦中拉出電纜,然後在Unity編輯器中按播放。我從來沒有在我的測試中看到「Recv failure:Connection was reset」。我不明白在這種情況下,某個安全錯誤消息是如何正確迴應WWW錯誤的?也許你可以詳細說明一下?我完全理解crossdomain.xml文件的用途。 – mat
從信息的角度來看,它可能不是正確的錯誤響應。然而這是幕後技術發生的事情。如果沒有連接到服務器,它將無法下載交叉域名文件,這是處理WWW Web版本請求的第一步。您也可以嘗試將構建設置更改爲獨立模式並重新運行測試,您應該收到Recv錯誤,然後確認它不是團結中的任何時髦。 –