我在flask程序中使用websocket与前端交互,我该怎么让flask主进程启动的同时启动websocket
时间: 2024-05-11 08:16:51 浏览: 83
服务器?
你可以使用Flask-SocketIO来实现在Flask应用中使用WebSocket。Flask-SocketIO可以让你使用WebSocket,以及其他实时网络协议(例如轮询、长轮询和HTTP流)。
在你的Flask应用中添加WebSocket支持,需要完成以下步骤:
1. 安装Flask-SocketIO
```
pip install flask-socketio
```
2. 在应用中导入和初始化Flask-SocketIO
```python
from flask import Flask
from flask_socketio import SocketIO
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)
```
3. 在视图函数中处理WebSocket连接
```python
@socketio.on('connect')
def test_connect():
print('Client connected')
@socketio.on('disconnect')
def test_disconnect():
print('Client disconnected')
```
4. 在应用中运行SocketIO服务器
```python
if __name__ == '__main__':
socketio.run(app)
```
以上代码片段中设置了一个Secret Key,用于验证WebSocket的连接。
在浏览器中,你可以使用JavaScript代码来连接WebSocket服务器:
```javascript
var socket = io.connect('http://localhost:5000');
socket.on('connect', function() {
console.log('Connected!');
});
socket.on('disconnect', function() {
console.log('Disconnected!');
});
```
这样就可以启动WebSocket服务器,与前端进行实时交互了。
阅读全文