如何处理 websockets 中的无效 URL / IP?
How to handle invalid URL / IP's in websockets?
我正在使用 HTML / Javascript 网络套接字与 python 服务器程序通信。现在我可以选择通过 clean UI 更改服务器的 IP,并且我有一个 .onerror 函数来处理连接错误,但是这不处理初始错误。我的意思是,如果我输入一个完全无效的地址,它甚至不会尝试连接它(这很好)并吐出错误,如:[Error] WebSocket network error: The operation couldn’t be completed. (kCFErrorDomainCFNetwork error 2.)
。我该如何处理这个错误,例如弹出一条消息?
下面是我的 JS 脚本的简要概述。
function updateDevice(id, ipUI){
if ("WebSocket" in window){
var ws = new WebSocket(serverIP);
// Here is where I need to handle the bad address right?
ws.onopen = function(){
ws.send(id);
};
ws.onmessage = function (evt){
var received_msg = evt.data;
};
// This function ws.onerror doesnt handle bad addresses.
ws.onerror = function(){
document.getElementById("error_msg").style.display='block';
};
}else{
alert("This site doesnt support your browser...");
};
};
您可以将 new WebSocket
包装在 try/catch 中:
try {
new WebSocket(serverIP);
} catch (e) {
if (e instanceof DOMException) {
alert('Invalid address!');
} else {
throw e;
}
}
我正在使用 HTML / Javascript 网络套接字与 python 服务器程序通信。现在我可以选择通过 clean UI 更改服务器的 IP,并且我有一个 .onerror 函数来处理连接错误,但是这不处理初始错误。我的意思是,如果我输入一个完全无效的地址,它甚至不会尝试连接它(这很好)并吐出错误,如:[Error] WebSocket network error: The operation couldn’t be completed. (kCFErrorDomainCFNetwork error 2.)
。我该如何处理这个错误,例如弹出一条消息?
下面是我的 JS 脚本的简要概述。
function updateDevice(id, ipUI){
if ("WebSocket" in window){
var ws = new WebSocket(serverIP);
// Here is where I need to handle the bad address right?
ws.onopen = function(){
ws.send(id);
};
ws.onmessage = function (evt){
var received_msg = evt.data;
};
// This function ws.onerror doesnt handle bad addresses.
ws.onerror = function(){
document.getElementById("error_msg").style.display='block';
};
}else{
alert("This site doesnt support your browser...");
};
};
您可以将 new WebSocket
包装在 try/catch 中:
try {
new WebSocket(serverIP);
} catch (e) {
if (e instanceof DOMException) {
alert('Invalid address!');
} else {
throw e;
}
}