В настоящее время я столкнулся с какой-то странной проблемой. Я отключу свое подключение к Интернету, чтобы поместить над ним код обработки. Я думал, что он вернет мне код ошибки, но просто даст мне пустой ответ, а не покажет исключение. У меня есть следующий вывод отладки, когда я печатаю более подробную информацию на экране.Обращение с пустым ответом с веб-сервера
В основном я хочу диалоговое окно, чтобы показать, когда нет подключения к Интернету. Но как справиться с этой ситуацией !!!
Поскольку нет никакого ответа со стороны JSON сервера, то также есть некоторые байты я получаю от сервера. Вот мой код:
Dictionary<string,string> headerDisc = new Dictionary<string, string>();
headerDisc.Add ("Api-Key", "You API Key");
WWW www = new WWW (GameConstants.CONTESTANT_LIST_BASE_URL, new byte[] { (byte)0 }, headerDisc);
yield return www;
if (www.error == null) {
Debug.Log ("bytes: " + www.bytes.Length);
Debug.Log ("size: " + www.size);
Debug.Log ("length: " + www.text.Length);
Debug.Log ("Data: " + www.text);
if (www.text.Length <= 0) {
AppManager.Instance.DialogMessage = "No Server Response Found!";
Camera.main.SendMessage ("ActivateDialogBoxPanel", true, SendMessageOptions.DontRequireReceiver);
} else {
JSONObject jsonObj = new JSONObject (www.text);
JSONObject messageObj = jsonObj [TAG_MESSAGE];
string successValueStr = jsonObj [TAG_SUCCESS].ToString();
if (successValueStr.Equals (VALUE_TRUE))
// success
else
// fail
}
} else {
Debug.Log ("Error: " + www.error);
AppManager.Instance.DialogMessage = "Error:" + www.error;
Camera.main.SendMessage ("ActivateDialogBoxPanel", true, SendMessageOptions.DontRequireReceiver);
}
Пожалуйста, дайте мне некоторое предложение. Если вам нужна дополнительная информация, я буду доступен.
Выше исходный код не работает для меня, потому что какая часть инструкции if станет истиной, которую вы должны увидеть в моем коде. www.error имеет значение null в моем ответе, так что определенно ваш код проверки подключения к Интернету также дает мне неправильный ответ. – Siddharth
Просто инвертируйте инструкции if, если вам нужно, я практически не понимаю, что вы сказали. – Everts
Если вы думаете, какая часть инструкции if-else выполняется, тогда у вас есть более четкая идея. По моему мнению, если мой интернет не работает, тогда он должен дать мне www.error! = Null, но в настоящее время его обратное обращение обращается к www.error == null, становясь истинным. Так что я тоже смущен этим !!! – Siddharth