Чтобы лучше понять внутреннее содержимое websocket, я пытаюсь реализовать их через tcp, используя библиотеку сокетов python.Однако я не могу пройти через обновление HTTP.
Для начала я делаю простой запрос HTTP GET всего с 4 заголовками.Как описано здесь , это единственные, которые являются обязательными.Вот мой текущий код
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((server_ip, port))
client.send('GET / HTTP/1.1\r\nHost: server_ip\r\nConnection: Upgrade\r\nUpgrade: websocket\r\n\r\n')
resp = client.recv(4096)
print resp
Я получаю следующий ответ от сервера
HTTP/1.1 400 Bad Request
Connection: close
Content-type: text/html
Content-Length: 11
Bad Request
Чего мне не хватает в заголовке http?
PS:серверная часть - это сервер веб-сокетов, созданный с использованием nodejs