WebSocket握手能否与HTTP请求在同一套接字上发送?

WebSocket握手能否与HTTP请求在同一套接字上发送?,websocket,Websocket,基本上,标准允许这种交互吗?(Python伪代码:) 您想序列化HTTP GET和WebSocket会话还是并行运行它们?您想用python编写您的客户机吗?如果这正是您的目标,那么我不想找一个库来简化它。我在问它是否可以序列化(如果标准允许或禁止),或者在标准中具体提到了这一点。它们可以序列化。但是,您的代码片段表明您希望并行使用这些连接。如果删除了keepalive并读取了对第一个GET的完整响应,则可以在之后将套接字重新用于websocket连接。 import socket s = so

基本上,标准允许这种交互吗?(Python伪代码:)


您想序列化HTTP GET和WebSocket会话还是并行运行它们?您想用python编写您的客户机吗?如果这正是您的目标,那么我不想找一个库来简化它。我在问它是否可以序列化(如果标准允许或禁止),或者在标准中具体提到了这一点。它们可以序列化。但是,您的代码片段表明您希望并行使用这些连接。如果删除了keepalive并读取了对第一个GET的完整响应,则可以在之后将套接字重新用于websocket连接。
import socket
s = socket.create_connection((host, 80))
s.send("GET /index.html HTTP/1.1\nHost:example.com\nConnection:keep-alive\n\n")
s.recv() // Should be a 200
s.send("GET /websocket HTTP/1.1\nHost:example.com\nUpgrade: websocket\nConnection: Upgrade\n\n")
s.recv() // Should be 101