修复HttpServer字符编码问题并增强超时处理

主要修改:
- 修复HttpServer.cpp中的乱码注释导致的编译错误
- 转换文件为CRLF行尾符,添加UTF-8 BOM确保Visual Studio兼容性
- 增强Socket超时处理:添加接收/发送超时30秒配置
- 更新Config.h添加SOCKET_RECV_TIMEOUT_MS和SOCKET_SEND_TIMEOUT_MS常量
- 完善异常处理机制,确保服务线程稳定性

技术细节:
- 解决乱码注释:OPTIONS预检请求处理、查找路由处理器等10处注释
- 网络稳定性:防止recv/send操作无限阻塞导致服务不响应
- 文件编码标准化:符合项目其他文件的编码规范

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root 2025-08-08 14:56:44 +08:00
parent 0e98285a74
commit e8491eb419
3 changed files with 13 additions and 2 deletions

View File

@ -72,13 +72,20 @@ MFCCreoDll/
### ✅ 已完成模块
#### 模块1: 基础HTTP服务器 (完成)
**功能:** HTTP服务器框架支持路由注册和请求处理
**功能:** HTTP服务器框架支持路由注册和请求处理,增强了超时处理机制
**文件:** HttpServer.h, HttpServer.cpp, Config.h
**测试状态:** ✅ 编译成功,功能测试通过
**测试状态:** ✅ 编译成功,功能测试通过,已修复字符编码问题
**API端点**
- `/test` - 服务器连通性测试
- `/show_message?text=消息` - 在Creo中显示消息
**技术细节:**
- 使用Windows Socket API实现HTTP服务器
- 支持路由注册和自定义处理函数
- 增强的超时处理Socket接收/发送超时30秒
- 完善的异常处理机制,确保服务线程稳定
- 解决了字符编码问题确保Visual Studio编译兼容性
#### 模块2: Creo状态检测 (完成)
**功能:** Creo连接状态和模型状态实时检测
**文件:** CreoManager.h, CreoManager.cpp
@ -718,6 +725,8 @@ Web前端 -> HTTP API (快速查询) -> CreoManager -> Creo
26. **Visual Studio编译错误** - 解决PathDeleteManager.cpp的文件编码和行尾符问题
27. **CRLF行尾符兼容性** - 转换Unix LF为Windows CRLF解决Visual Studio编译器解析问题
28. **UTF-8 BOM标准化** - 添加UTF-8 BOM确保与项目其他文件编码一致
29. **HttpServer字符编码崩溃** - 修复HttpServer.cpp中乱码注释导致的语法错误确保编译通过
30. **Socket超时处理增强** - 实现Socket接收/发送超时机制,防止网络请求阻塞导致服务不稳定
### 下一步计划

View File

@ -13,6 +13,8 @@ public:
// 超时配置
static const int HTTP_TIMEOUT_MS = 30000; // 30秒
static const int WEBSOCKET_TIMEOUT_MS = 300000; // 5分钟
static const int SOCKET_RECV_TIMEOUT_MS = 30000; // Socket接收超时30秒
static const int SOCKET_SEND_TIMEOUT_MS = 30000; // Socket发送超时30秒
// 缓冲区大小
static const int BUFFER_SIZE = 4096;

Binary file not shown.