我用JavaScript编写了一个vanilla 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
...并且它没有收到原本应该由WebSocket
连接发送的 'hello服务器' 消息。
答案 0 :(得分:0)
简而言之,没有任何网络套接字不仅仅是套接字。它们是TCP之上的一种新的类似http的协议。有关详细信息,请查看http://en.wikipedia.org/wiki/WebSocket以获取简要概述或RFC http://tools.ietf.org/html/rfc6455。