如何在Flask中使用WebSocket协议实现双向通信
在Flask中实现WebSocket协议可以使用Flask-SocketIO扩展。下面是一个简单的示例代码:
- 首先安装Flask-SocketIO扩展:
pip install flask-socketio
- 创建一个Flask应用并初始化SocketIO扩展:
from flask import Flask, render_template
from flask_socketio import SocketIO
app = Flask(__name__)
socketio = SocketIO(app)
- 创建一个简单的WebSocket事件处理器:
@socketio.on('message')def handle_message(message): print('received message: ' + message)
socketio.send('echo: ' + message) @socketio.on('connect')def test_connect(): print('Client connected') @socketio.on('disconnect')def test_disconnect(): print('Client disconnected')
- 创建一个简单的HTML模板文件来测试WebSocket连接:
<!DOCTYPE html><html><head> <title>WebSocket Test</title> <script src="https://cdn.socket.io/socket.io-3.0.4.min.js"></script></head><body> <script type="text/javascript"> var socket = io();
socket.on('connect', function() { console.log('Connected');
socket.send('Hello, Server!');
});
socket.on('message', function(data) { console.log('Received message: ' + data);
}); </script></body></html>
- 运行Flask应用:
if __name__ == '__main__':
socketio.run(app, debug=True)
现在你可以打开浏览器访问http://localhost:5000
来测试WebSocket连接。在浏览器控制台中可以看到接收到的消息。
版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。
评论