53 lines
1.6 KiB
Python
53 lines
1.6 KiB
Python
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连接成功!')
|
||
|
||
# 发送启动视频流事件
|
||
sio.emit('start_video')
|
||
print('已发送start_video事件,等待5秒接收数据...')
|
||
|
||
# 等待并接收事件
|
||
for i in range(5):
|
||
try:
|
||
# 接收事件
|
||
event = sio.receive(timeout=1)
|
||
if event:
|
||
event_name, data = event
|
||
print(f'收到事件: {event_name}, 数据类型: {type(data)}')
|
||
if event_name == 'video_frame' and isinstance(data, dict) and 'image' in data:
|
||
pass # 图像数据已接收
|
||
elif event_name == 'video_status':
|
||
print(f'视频状态: {data}')
|
||
except socketio.exceptions.TimeoutError:
|
||
print(f'等待事件超时 ({i+1}/5)')
|
||
|
||
# 发送停止视频流事件
|
||
sio.emit('stop_video')
|
||
print('已发送stop_video事件')
|
||
|
||
# 等待停止状态事件
|
||
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测试完成') |