Я использую сокет на стороне клиента Js в расширении chrome. Я успешен в механизме рукопожатия и могу прослушать и отправить сообщение. Что я действительно хочу сделать, так это перехватить исключение, когда порт используется с другим процессом или сервер сокетов не работает ?
Это ошибки, которые я хочу поймать, например, когда порт занят , не в состоянии рукопожатие с ним выдает ошибку ws: // localhost: 8080 / wsDemo ошибка: ошибка во время рукопожатия WebSocket: неожиданный код ответа 404
Когда сервер сокетов не работает, невозможно подключиться, тогда ws: / / localhost: 8080 / wsDemo fail: ошибка при установлении соединения: net ошибка соединения отклонена
проблемы - эта ошибка напрямую генерируется на консоли или на расширении как ERROR в расширении. На моей фоновой странице я не могу обработать это с помощью try-catch, обещаний, делая функцию asyn c, et c У меня есть пример кода ниже
, даже если я написал собственное обещание, где я применил все, что мог с этим справиться, но не смог обработать
function mySocket()
{
try{
new Promise(function(resolve, reject) {
var ws = new WebSocket("ws://localhost:8080/");
ws.onerror = function(evt) {
reject(evt)
}
}).catch(function(err) {
console.log("Catch handler sees: ", err)
});
}
catch(ex)
{
console.log(ex);
}
}
mySocket ()
Но также не смог поймать с регистрацией события onerror и oncode, я обнаружил, что состояние event.ready всегда дает 3 и event.code = 1006 всегда