使用FlaskSocketI自定义握手数据

2024-10-02 22:38:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个使用Flask的Python服务器,它有一个使用Flask-SocketIO的websocket连接。还有一个类似的问题: Send custom data along with handshakeData in socket.io?想法是做同样的事情,但不是使用Node,而是使用Flask。我希望客户端在connect事件中发送一些数据,例如:

var socket = io("http://127.0.0.1:3000/", { query: "foo=bar" });

由于客户机的框架,我无法获得自定义数据,也无法依赖cookies。一个有效的解决方案是像往常一样使用connect事件,然后在自定义事件中,将该信息作为有效负载获取。但是我们只需要做一个connect事件。谢谢!在


Tags: inio服务器sendflaskdataconnectwith
2条回答

正如米格尔在评论中建议的那样,你可以简单地做

from flask import Flask
from flask import request

app = Flask(__name__)
socketio = SocketIO(app)

@socketio.on('connect')
def connect():
    foo = request.args.get('foo')
    # foo will be 'bar' when a client connects

socketio.run(app)

在服务器端。在

全局连接方法在服务器端被调用。但不是特定命名空间的connect方法。命名空间是否支持查询参数?在

客户代码

const socket = io.connect('http://127.0.0.1:5000/ds', { query: {name: "Test"} });

服务器代码

^{pr2}$

相关问题 更多 >