со всеми этапами установки соединения,к примеру не могу понять почему статус все время 101(почему статус остается "переключение" и в сокет запросе остается заголовок GET.
Как работает вебсокет?
Клиент отправляет http запрос с специальными заголовками, которые сигнализируют серверу о том, что клиент хочет общаться через вебсокет соединение.
Сервер отвечает 101 статусом, и добавляет Upgrade заголовок сигнализируя, что он согласен использовать вебсокет соединение.
Теперь сервер и клиент общаются через вебсокет соединение. По этом используя то tcp соединение, которое было открыто для http запроса.
Вся эта процедура называется WebSockets handshake и легко гуглится