在两个IP上使用Websocket的TryCatch不在javascript中处理

在两个IP上使用Websocket的TryCatch不在javascript中处理,javascript,Javascript,我有一个websocket监听一些接口,这样客户端就可以调用多个ip。我没有这些IP的dns。即使在try块中也会失败 window.onload = function() { ws = ""; try { ws_connection = "ws://" + lblInfoIP.value + ":9080/websockets"; ws = new

我有一个websocket监听一些接口,这样客户端就可以调用多个ip。我没有这些IP的dns。即使在try块中也会失败

        window.onload = function() {
        ws = "";
        try {
          ws_connection = "ws://" + lblInfoIP.value + ":9080/websockets";
          ws = new WebSocket(ws_connection);
        }
        catch(err) {
          ws_connection = "ws://127.0.01:9080/websockets";
          ws = new WebSocket(ws_connection);
        }
        ws.onmessage = function(msg) { showInfo(msg.data); };
        ws.onerror = function(evt){ alert ('Websocket failed with ' + evt.data) };
    }
手动使用与被调用url相同的ip工作

我该如何正确处理这个问题


有没有像ws_connection=“ws://”这样的东西被称为“\u url+”/websockets”

使用简单的“或”(
| |
)操作,而不是try/catch构造:

window.onload=函数(){
设ws=newwebsocket(`ws://${lblInfoIP.value | | |“127.0.01:9080”}/websockets`)
ws.onmessage=函数(msg){showInfo(msg.data);};
ws.onerror=函数(evt){alert('Websocket因'+evt.data'而失败)};
}
在开发中,将
lblInfoIP.value
设置为
null
或“
undefined
”。
或者使用“
document.location.host
:9080”

你说的“called\u url”是什么意思?!感谢您让connection=“ws://”+document.location.host+“/websockets”;设ws=新的WebSocket(连接);起作用了吗