Flask中怎么实现WebSocket

   2024-10-19 2020
核心提示:在Flask中实现WebSocket可以使用Flask-SocketIO扩展。Flask-SocketIO是一个基于Socket.IO的实时Web应用程序框架,可以轻松地在Fl

在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模板示例:

<!DOCTYPE html><html><head>    <title>WebSocket Example</title>    <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 Example</h1></body></html>

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

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

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号