我用 JavaScript 编写了一个普通的 WebSocket 客户端,它通过 8080 端口连接到本地主机并发送“ hello server ”。
我的服务器是使用标准套接字包在 Python 中编写的。当我使用 连接到它时WebSocket
,服务器会收到一个 HTTP 请求:
GET / HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 127.0.0.1:8080
Origin: http://127.0.0.1:3030
Pragma: no-cache
Cache-Control: no-cache
Sec-WebSocket-Key: g3y2hDw5WpZYKUwIrsGYaw==
Sec-WebSocket-Version: 13
Sec-WebSocket-Extensions: x-webkit-deflate-frame
...并且它没有收到应该由连接发送的原始“hello server”消息。WebSocket
我很困惑; 常规套接字和 WebSockets 不是一回事吗?为什么我收到的是 HTTP 请求而不是原始消息?