小编eas*_*ngo的帖子

如何在python websocket服务器握手响应中设置“Sec-WebSocket-Protocol”标头?

我有一个 python websocket 服务器和一个 nodejs 客户端,但我无法实现websocket 的协议握手

python服务器代码

以下最小的 websocket 服务器使用Flask-sockets (使用gevent-websocket)。文件名是ws_server.py

#!/usr/bin/python3
# -*- coding: utf-8 -*-
from flask import Flask, request, Response
from flask_sockets import Sockets

app = Flask(__name__)
sockets = Sockets(app)

@sockets.route('/')
def echo_socket(ws):
    # print("type request: ",type(request))
    # print("dir  request: ", dir(request))
    print("request.headers: ", request.headers)
    # print("type ws: ",type(ws))
    # print("dir  ws: ",dir(ws))

    if hasattr(request, "Sec-Websocket-Protocol"):
        print(request.headers["Sec-Websocket-Protocol"])
    else:
        print("INFO: No protocol specified")

    if request.headers["Sec-Websocket-Protocol"] == "aProtocol":
        print("INFO: protocol is …
Run Code Online (Sandbox Code Playgroud)

python websocket node.js handshake

5
推荐指数
1
解决办法
3277
查看次数

标签 统计

handshake ×1

node.js ×1

python ×1

websocket ×1