# 文件职责 MQTT消息服务的**领域服务层**,负责与**MQTT Broker**建立连接并处理设备消息。 # 实现方式 使用 **mqtt.js客户端库** + **EventEmitter事件总线**: - mqtt.connect建立WebSocket连接 - 订阅特定主题接收消息 - 通过EventEmitter将消息广播到应用其他部分 # 实现思路 1. **连接管理**:提供startListening和stopListening控制连接生命周期 2. **消息路由**:根据topic和status字段分发消息到不同处理逻辑 3. **事件解耦**:通过EventEmitter实现发布订阅模式,解耦消息接收和处理 4. **状态映射**:将MQTT消息状态映射为应用内事件(TASK_SUCCESS、ACQUISITION_SUCCESS等) # 边界 ## 输入边界 - MQTT_BROKER_URL: MQTT代理服务器地址 - MQTT消息:从设备发送的JSON格式消息 ## 输出边界 - 事件发射:TASK_SUCCESS、ACQUISITION_SUCCESS、ACQUISITION_FAILURE、AllReady_TRUE、AllReady_FALSE - 控制接口:startListening、stopListening ## 职责边界 - ✅ 负责:MQTT连接管理、消息订阅、事件发射 - ❌ 不负责:消息的业务处理、UI更新、状态管理 # 涉及概念 - **MQTT**:轻量级消息传输协议 - **MQTT Broker**:消息代理服务器 - **WebSocket**:基于TCP的全双工通信协议 - **Topic**:MQTT主题(消息分类) - **Subscribe**:订阅主题 - **Publish/Subscribe Pattern**:发布订阅模式 - **EventEmitter**:事件发射器 - **DCM (DICOM)**:医学图像格式 - **SOP**:DICOM标准操作协议 - **Thumbnail**:缩略图