我正在研究JavaScript客户端网络套接字。一旦我同时运行服务器程序和下面的客户端JavaScript,代码就可以正常工作。
try {
webSocket = new WebSocket(webSocketURL);
webSocket.onopen = function(openEvent) {
console.log("WebSocket OPEN: " + JSON.stringify(openEvent, null, 4));
};
webSocket.onclose = function (closeEvent) {
console.log("WebSocket CLOSE: " + JSON.stringify(closeEvent, null, 4));
};
webSocket.onerror = function (errorEvent) {
console.log("WebSocket ERROR: " + JSON.stringify(errorEvent, null, 4));
};
webSocket.onmessage = function (messageEvent) {
var wsMsg = messageEvent.data;
console.log("WebSocket MESSAGE: " + wsMsg);
if (wsMsg.indexOf("error") > 0) {
console.log (wsMsg.error);
} else {
console.log (wsMsg);
}
};
} catch (exception) {
console.error(exception);
}
但是,我得到了由Webbrowser缓存的错误“ net::ERR_CONNECTION_REFUSED
”。但是我的代码无法捕获此错误。
关于从这张图片https://ibb.co/bHSBw0G中看到错误消息。任何建议或指导将不胜感激,谢谢。
答案 0 :(得分:0)
我认为 ErrorEvent 具有不可枚举的属性(只有可枚举的 isTrusted getter - 不是超级有用)。尝试通过执行以下操作来显式访问属性:
webSocket.onerror = function (errorEvent) {
console.log("WebSocket ERROR: " + errorEvent.message)
}