Не работает скрипт, не могу отправить запрос перехода на websocket серверу

Реализую свой http сервер, пытаюсь сделать поддержку протокола веб соккет. Хочу посмотреть, какие заголовки приходят на сервер, чтоб понять, как их правильно обрабатывать. Я не js-сер и не могу написать нормальный код, который откроет соединение. Я взял пример с интернета

 window.onload = function(){
         var socket = new WebSocket("http://localhost:8000/");
         var status = document.querySelector("#status");
         console.log(socket)



        socket.onopen = function() {
          status.innerHTML = "cоединение установлено<br>";
        };

        socket.onclose = function(event) {
          if (event.wasClean) {
            status.innerHTML = 'cоединение закрыто';
          } else {
            status.innerHTML = 'соединения как-то закрыто';
          }
          status.innerHTML += '<br>код: ' + event.code + ' причина: ' + event.reason;
        };

        socket.onmessage = function(event) {
          let message = JSON.parse(event.data);
          status.innerHTML += `пришли данные: <b>${message.name}</b>: ${message.msg}<br>`;
        };

        socket.onerror = function(event) {
           status.innerHTML = "ошибка " + event.message;
        };
        document.forms["messages"].onsubmit = function(){
            let message = {
                 name:this.fname.value,
                 msg: this.msg.value
            }
            socket.send(JSON.stringify(message));
            return false;
        }

    }

встроил этот код в html страничку. Он не работает, на сервер ничего не приходит. Помогите пожалуйста решить эту пробелму


Ответы (1 шт):

Автор решения: an_parubets

Чтобы открыть WebSocket нужно делать запрос не по http протоколу, а по ws. Исправьте вторую строку на:

  var socket = new WebSocket("ws://localhost:8000/");
→ Ссылка