Если ваш веб-сервер поддерживает WebSockets (или модуль обработчика WebSocket), вы можете использовать тот же хост и порт и просто изменить схему, как вы показываете. Существует множество вариантов совместной работы веб-сервера и сервера / модуля Websocket.
Я бы посоветовал вам взглянуть на отдельные части глобального окна window.location и снова соединить их вместе, вместо того, чтобы выполнять слепую подстановку строк.
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";
Обратите внимание, что некоторые веб-серверы (например, на базе Jetty) в настоящее время используют путь (а не заголовок обновления), чтобы определить, следует ли передать конкретный запрос обработчику WebSocket. Таким образом, вы можете быть ограничены в том, можете ли вы преобразовать путь так, как хотите.
path/to/ws
? Куда именно это ведет? Спасибо