下面是关于“Flask-SocketIO服务端安装及使用代码示例”的完整攻略。
安装Flask-SocketIO
首先要安装Flask-SocketIO模块,可以使用pip直接安装:
pip install flask-socketio
或者,可以在项目的requirements.txt中添加一行:
flask-socketio==5.1.0
使用示例1
下面是一个简单的示例,展示了如何在Flask应用程序中启用WebSocket通讯:
from flask import Flask, render_template
from flask_socketio import SocketIO, emit
app = Flask(__name__)
socketio = SocketIO(app)
@app.route('/')
def index():
return render_template('index.html')
@socketio.on('my event')
def handle_my_event(data):
print('received message: ' + data)
socketio.emit('response', 'server response')
if __name__ == '__main__':
socketio.run(app)
这个示例定义了一个运行在本地5000端口上的Flask应用程序。在这个应用程序中,一个路由(/
)可以被请求,以返回一个名为index
的HTML模板。同时,一个SocketIO事件(my event
)也被定义,当它被触发时,一个函数(handle_my_event
)会被调用。
使用示例2
下面是另一个示例,演示了如何使用Flask-SocketIO实现一个简单的聊天室:
from flask import Flask, render_template
from flask_socketio import SocketIO, emit
app = Flask(__name__)
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('disconnect')
def test_disconnect():
print('Client disconnected')
@socketio.on('message')
def handle_message(data):
print('received message: ' + data)
socketio.send('server response: ' + data)
if __name__ == '__main__':
socketio.run(app)
这个示例实现了一个简单的聊天室,让多个用户同时接收和发送消息。当一个用户连接到服务器时,一个事件(connect
)会被触发。当一个用户断开连接时,另一个事件(disconnect
)也会被触发。当一个用户发送一条消息时,另一个事件(message
)会被触发。
总结
Flask-SocketIO让使用Python和Flask框架实现WebSocket通讯变得非常简单。上述两个示例演示了如何在Flask应用程序中使用Flask-SocketIO。你可以按照这些示例的代码和提示,为你的项目添加WebSocket通讯和实时性支持。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Flask-SocketIO服务端安装及使用代码示例 - Python技术站