BodyBalanceEvaluation/test_websocket.py

53 lines
1.6 KiB
Python
Raw Normal View History

2025-07-29 18:28:40 +08:00
import socketio
import time
# 创建SocketIO客户端
sio = socketio.SimpleClient()
print('连接WebSocket并监听事件...')
try:
# 连接到服务器
print('正在连接到192.168.1.173:5000...')
sio.connect('http://192.168.1.173:5000', wait_timeout=10)
print('WebSocket连接成功!')
2025-08-02 16:52:17 +08:00
# 发送启动视频流事件
sio.emit('start_video')
print('已发送start_video事件等待5秒接收数据...')
2025-07-29 18:28:40 +08:00
# 等待并接收事件
for i in range(5):
try:
# 接收事件
event = sio.receive(timeout=1)
if event:
event_name, data = event
print(f'收到事件: {event_name}, 数据类型: {type(data)}')
2025-08-02 16:52:17 +08:00
if event_name == 'video_frame' and isinstance(data, dict) and 'image' in data:
pass # 图像数据已接收
2025-08-02 16:52:17 +08:00
elif event_name == 'video_status':
print(f'视频状态: {data}')
2025-07-29 18:28:40 +08:00
except socketio.exceptions.TimeoutError:
print(f'等待事件超时 ({i+1}/5)')
2025-08-02 16:52:17 +08:00
# 发送停止视频流事件
sio.emit('stop_video')
print('已发送stop_video事件')
2025-07-29 18:28:40 +08:00
# 等待停止状态事件
try:
event = sio.receive(timeout=2)
if event:
event_name, data = event
print(f'收到停止事件: {event_name}, 数据: {data}')
except socketio.exceptions.TimeoutError:
print('等待停止事件超时')
sio.disconnect()
print('WebSocket连接已断开')
except Exception as e:
print(f'测试过程中发生错误: {e}')
print('WebSocket测试完成')