Se o seu servidor Web tiver suporte para WebSockets (ou um módulo manipulador WebSocket), você pode usar o mesmo host e porta e apenas alterar o esquema como está sendo mostrado. Existem muitas opções para executar um servidor Web e um servidor / módulo Websocket juntos.
Eu sugeriria que você olhasse para as partes individuais do window.location global e junte-as novamente em vez de fazer a substituição cega de strings.
var loc = window.location, new_uri;
if (loc.protocol === "https:") {
new_uri = "wss:";
} else {
new_uri = "ws:";
}
new_uri += "//" + loc.host;
new_uri += loc.pathname + "/to/ws";
Observe que alguns servidores web (ou seja, os baseados em Jetty) atualmente usam o caminho (em vez do cabeçalho de atualização) para determinar se uma solicitação específica deve ser passada para o manipulador WebSocket. Portanto, você pode estar limitado quanto à possibilidade de transformar o caminho da maneira que deseja.
path/to/ws
? Aonde isso leva exatamente? Obrigado