Обнаружение исключения «Сервер не найден»

В автономном приложении XUL я бы хотел перехватить исключение сервер не найден . Я пробовал проверять состояние в событии onStateChange nsIWebProgressListener , но это, похоже, не работает. Моя реализация события onStateChange показана ниже. Я предполагаю, что если STATE_START или STATE_STOP не возвращает допустимое значение, то с загрузкой страницы что-то не так, и отображается сообщение об ошибке для пользователь.

  onStateChange: function (aProgress, aRequest, aFlag, aStatus) {const STATE_START = Components.interfaces.nsIWebProgressListener.STATE_START;  const STATE_STOP = Components.interfaces.nsIWebProgressListener.STATE_STOP;  если (aFlag & STATE_START) {document.getElementById ("progressBar"). hidden = false;  } если (aFlag & STATE_STOP) {setTimeout (функция () {document.getElementById ("progressBar"). hidden = true;}, 2000);  } if (aFlag & (! STATE_START |! STATE_STOP)) {alert («Кажется, ваше соединение прервано. Пожалуйста, подтвердите это у системного администратора.»);  } return 0;  

},

Может ли кто-нибудь посоветовать мне, что я делаю неправильно? Заранее благодарим.


Параметр onStateChange , указывающий, была ли ошибка подключения, — aStatus . Например, вы можете использовать Components.isSuccessCode :

  if ((aFlag & STATE_STOP) &&! Components.isSuccessCode (aStatus)) {alert  ("Кажется, что ваше соединение прервано. Пожалуйста, подтвердите это у системного администратора.");}  

Вы также можете сравнить aStatus с Components.results.NS_ERROR_UNKNOWN_HOST , что соответствует ошибке «Сервер не найден». Однако, если соединение не работает, может возникнуть ряд других ошибок, например NS_ERROR_CONNECTION_REFUSED (сбой подключения), NS_ERROR_UNKNOWN_PROXY_HOST (прокси не найден), NS_ERROR_OFFLINE (попытка подключения в автономном состоянии) . Вы можете найти полный список кодов сетевых ошибок в nsNetError.h.



Удаленный сервер не найден в XMPP

i отправить пакет клиенту

      

И получил

        

в чем проблема ???


У вас две проблемы с этой строфой.

1) Вы набрали localhsot вместо localhost.

2) Вы добавляете «от» в строфу. Предполагая, что вы являетесь клиентом, отправляющим это, лучше не использовать «от» и позволить серверу поставить отметку о себе, как если бы вы ошиблись с «от», сервер начнет отклонять строфы. В вашем случае это неправильно, поскольку вы используете голый JID клиента, а не полный JID.

Попробуйте сначала разрешить их, а затем посмотрите, что произойдет.

Оцените статью
clickpad.ru
Добавить комментарий