# web通信应用 **Repository Path**: hongfff/Middleware_Lab_3 ## Basic Information - **Project Name**: web通信应用 - **Description**: 使用ActiveMQ构建的spring服务器,提供一对一的消息通信服务,可调用翻译api与LLM api进行实时的文本翻译和消息分析回复建议功能 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-10 - **Last Updated**: 2026-04-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MiddlewareLab3 实时聊天服务器 一个基于 Spring Boot + WebSocket 的实时聊天应用,支持消息翻译、情感分析和用户偏好管理。 ## 项目简介 MiddlewareLab3 是一个中间件实验项目,提供实时聊天功能,集成了腾讯云机器翻译和阿里云情感分析服务。通过 WebSocket 实现实时通信,使用 ActiveMQ 进行消息队列管理。 ## 技术栈 - **后端框架**: Spring Boot 2.x - **WebSocket**: Spring WebSocket - **消息队列**: ActiveMQ - **翻译服务**: 腾讯云机器翻译 - **情感分析**: 阿里云 DashScope (通义千问) - **构建工具**: Maven ## 功能特性 - 实时 WebSocket 聊天 - 消息自动翻译(支持多语言) - 情感分析和建议 - 用户偏好管理(语言、翻译开关、情感分析开关) - 在线用户状态显示 - 离线消息接收 ## 快速开始 ### 环境要求 - JDK 8+ - Maven 3.6+ - ActiveMQ 5.x ### 配置步骤 1. 克隆项目 ```bash git clone https://gitee.com/hongfff/Middleware_Lab_3.git cd Middleware_Lab_3 ``` 2. 配置 ActiveMQ 在 `application.yml` 中配置 ActiveMQ 连接信息: ```yaml spring: activemq: broker-url: tcp://localhost:61616 user: admin password: admin ``` 3. 配置翻译和情感分析服务(可选) ```yaml tencent: cloud: secret-id: your-secret-id secret-key: your-secret-key sentiment: api: key: your-api-key ``` 4. 编译运行 ```bash ./mvnw spring-boot:run ``` ## 使用说明 ### 启动服务 服务默认运行在 `http://localhost:8080`,打开 `src/main/resources/index.html` 即可访问聊天界面。 ### WebSocket 连接 ``` ws://localhost:8080/wx ``` ### REST API 接口 | 接口 | 方法 | 说明 | |------|------|------| | `/api/chat/send` | POST | 发送消息 | | `/api/chat/receive` | GET | 接收消息 | | `/api/chat/online` | GET | 获取在线用户 | | `/api/chat/health` | GET | 健康检查 | | `/api/user/preference` | POST | 设置偏好 | | `/api/user/preference` | GET | 获取偏好 | | `/api/user/preference` | PUT | 更新偏好 | ### 消息格式 ```json { "fromUser": "user1", "toUser": "user2", "content": "你好", "type": "text" } ``` ## 配置说明 | 配置项 | 说明 | 默认值 | |--------|------|--------| | `server.port` | 服务端口 | 8080 | | `spring.activemq.broker-url` | ActiveMQ 地址 | tcp://localhost:61616 | | `tencent.cloud.secret-id` | 腾讯云 SecretId | - | | `tencent.cloud.secret-key` | 腾讯云 SecretKey | - | | `sentiment.api.key` | 情感分析 API Key | - | ## 项目结构 ``` src/main/java/com/middlewarelab3server/ ├── MiddlewareLab3ServerApplication.java # 启动类 ├── config/ # 配置类 │ ├── ActiveMQConfig.java │ └── WebSocketConfig.java ├── controller/ # 控制器 │ ├── ChatController.java │ └── UserPreferenceController.java ├── model/ # 数据模型 │ ├── ChatMessage.java │ └── UserPreference.java ├── service/ # 业务服务 │ ├── ChatService.java │ ├── SentimentAnalysisService.java │ ├── TranslationService.java │ └── UserPreferenceService.java └── websocket/ # WebSocket处理 └── ChatWebSocketHandler.java ``` ## 许可证 本项目仅供学习交流使用。