BodyBalanceEvaluation/backend/test_socketio.py

44 lines
1.4 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from flask import Flask
from flask_socketio import SocketIO, emit
import logging
# 配置日志
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
app = Flask(__name__)
app.config['SECRET_KEY'] = 'test-secret-key'
socketio = SocketIO(app, cors_allowed_origins='*', logger=True, engineio_logger=True)
@socketio.on('connect')
def handle_connect():
print('=== CLIENT CONNECTED ===', flush=True)
logger.info('客户端已连接')
emit('connect_response', {'message': '连接成功'})
@socketio.on('disconnect')
def handle_disconnect():
print('=== CLIENT DISCONNECTED ===', flush=True)
logger.info('客户端已断开连接')
@socketio.on('start_video')
def handle_start_video(data=None):
print('=== START VIDEO EVENT RECEIVED ===', flush=True)
print(f'Data: {data}', flush=True)
logger.info('=== START VIDEO EVENT RECEIVED ===')
logger.info(f'Data: {data}')
emit('video_status', {'status': 'received', 'message': 'start_video事件已接收'})
return {'status': 'success'}
@socketio.on('test_event')
def handle_test_event(data=None):
print('=== TEST EVENT RECEIVED ===', flush=True)
logger.info('=== TEST EVENT RECEIVED ===')
emit('test_response', {'message': 'Test event received'})
if __name__ == '__main__':
print('启动测试Socket.IO服务器...')
socketio.run(app, host='0.0.0.0', port=5001, debug=False)