原文链接: Python flask socketio
上一篇: js socketio 简单使用
下一篇: socketio 和flask socketio 搭建 简单聊天室
官网
http://flask-socketio.readthedocs.io/en/latest/
https://github.com/miguelgrinberg/Flask-SocketIO
简单使用
from flask import Flask, send_file
from flask_cors import CORS
from flask_socketio import SocketIO, send, emit
from flask_compress import Compress
app = Flask(__name__)
Compress(app)
CORS(app)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)
if __name__ == '__main__':
socketio.run(app, port=80, host='0.0.0.0', debug='enable')
监听客户端发送的事件,如果客户端有参数,则对应的处理函数也需要接受参数,否则报错
@socketio.on('message')
def handle_message(message):
print('received message: ' + message)
两个和 连接有关的事件
@socketio.on('connect')
def connect_handler():
print('connect')
@socketio.on('disconnect')
def disconnect_handler():
print('dis')
使用emit发送消息给当前连接的客户端,只能在有装饰器函数下运行
@socketio.on('send_msg')
def send_msg_handler(msg):
print('send_msg', msg)
emit('get_msg', msg)
socketio.emit('get_msg', msg),向所有连接的客户端发送消息
socketio.emit('get_msg', msg)
可以搭配使用路由
@app.route('/')
def index():
return send_file('./static/index.html')