如何在 Flask 中实现 WebSocket

分类:编程技术 时间:2024-05-10 22:03 浏览:0 评论:0
0

在Flask中实现WebSocket可以使用Flask-SocketIO扩展。Flask-SocketIO是一个基于Socket.IO的实时Web应用程序框架,可以轻松地在Flask应用程序中添加WebSocket功能。

以下是一个简单的示例代码,演示如何在Flask应用程序中使用Flask-SocketIO实现WebSocket:

from flask import Flask, render_templatefrom flask_socketio import SocketIOapp = Flask(__name__)socketio = SocketIO(app)@app.route('/')def index():    return render_template('index.html')@socketio.on('message')def handle_message(message):    print('received message: ' + message)    socketio.send(message)if __name__ == '__main__':    socketio.run(app, debug=True)

在上面的代码中,我们首先创建了一个Flask应用程序并初始化SocketIO对象。然后我们定义了一个路由处理器来渲染一个简单的HTML模板。最后,我们使用@socketio.on装饰器来定义一个处理消息的函数,在接收到客户端发送过来的消息后,会将消息原样发送回去。

在HTML模板中,你可以使用Socket.IO的JS客户端库来连接到WebSocket服务器。以下是一个简单的HTML模板示例:

html><html><head>    <title>WebSocket Exampletitle>    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.2.0/socket.io.js">script>    <script>        var socket = io();        socket.on('connect', function() {            console.log('Connected to the server');            socket.send('Hello, server!');        });        socket.on('message', function(message) {            console.log('Received message: ' + message);        });    script>head><body>    <h1>WebSocket Exampleh1>body>html>

在上面的HTML模板中,我们首先引入Socket.IO的JS客户端库,然后创建一个新的Socket.IO实例,并监听connect事件来发送一条消息给服务器。然后我们监听message事件来处理服务器发送过来的消息。

通过Flask-SocketIO扩展,你可以轻松地实现WebSocket功能,并与服务器实时通信。

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 如何在 Flask 中实现 WebSocket

用户评论