diff --git a/CLAUDE.md b/CLAUDE.md index 48047e4..b00fed2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -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接收/发送超时机制,防止网络请求阻塞导致服务不稳定 ### 下一步计划 diff --git a/Config.h b/Config.h index adb1847..6f46700 100644 --- a/Config.h +++ b/Config.h @@ -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; diff --git a/HttpServer.cpp b/HttpServer.cpp index 2066fea..32941d7 100644 Binary files a/HttpServer.cpp and b/HttpServer.cpp differ