Flask-SocketIO 是一个 Flask 扩展,它使得在 Flask 应用程序中使用 Socket.IO 协议变得简单。Socket.IO 是一个实时应用程序框架,它使得在客户端和服务器之间实现实时双向通信成为可能。
Flask-SocketIO 支持以下几种类型的事件:
connect
和 disconnect
。以下是一个简单的 Flask-SocketIO 应用示例:
from flask import Flask, render_template
from flask_socketio import SocketIO, emit
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)
@app.route('/')
def index():
return render_template('index.html')
@socketio.on('connect')
def test_connect():
emit('my response', {'data': 'Connected'})
@socketio.on('my event')
def handle_my_custom_event(json):
print('received json: ' + str(json))
emit('my response', {'data': 'Got it!'})
if __name__ == '__main__':
socketio.run(app)
原因:
解决方法:
socketio.run(app)
启动服务器。客户端 JavaScript 代码:
const socket = io.connect('http://localhost:5000');
socket.on('connect', function() {
socket.emit('my event', {data: 'I\'m connected!'});
});
socket.on('my response', function(msg) {
console.log(msg);
});
通过以上信息,你应该对 Flask-SocketIO 发出一系列事件有了全面的了解,并且能够解决一些常见问题。
领取专属 10元无门槛券
手把手带您无忧上云