Commit Graph
6 Commits
Author SHA1 Message Date
odboy 638d2842e4 fix(c-client): 修正 cJSON 头文件路径和编译说明
- 修正头文件引用:cjson/cJSON.h(macOS Homebrew 标准路径)
- 更新 README 编译说明:
  - macOS: 添加 -I/usr/local/opt/cjson/include 包含路径
  - Ubuntu/Debian: 使用 pkg-config 自动获取包含路径
- 移除多余的 -lcjson 链接参数(编译时不需要)
2026-04-17 21:05:26 +08:00
odboy 7bf1dff3ce feat(c-client): 实现完整的 C 客户端 SDK
核心功能:
- JSON 解析:使用 cJSON 解析服务端返回的配置
- 配置缓存:自动保存到本地 .kenaito-config-cache.json 文件
- 定时同步:后台线程定时拉取配置变更(默认 10 秒)
- 配置变更回调:配置变更时自动触发回调函数
- 全量/增量拉取:首次全量拉取,后续通过 lastTime 增量拉取
- 优雅退出:支持信号处理,Ctrl+C 优雅关闭

API:
- config_client_init() - 初始化客户端
- config_client_start() - 启动客户端(全量拉取 + 后台同步)
- config_client_get() - 获取配置值
- config_client_stop() - 停止客户端并保存缓存

依赖:
- libcurl(HTTP 请求)
- cJSON(JSON 解析)
- pthread(后台同步线程)

编译:
- SDK: gcc -c main.c -o kenaito_conf.o -lcurl -lcjson
- Demo: gcc -o demo main.c ../kenaito-conf-c-client/main.c -lcurl -lcjson -lpthread
2026-04-15 21:02:16 +08:00
odboy 102c62b64b docs(c-client): 修正 macOS 依赖说明
macOS 系统自带 libcurl,无需额外通过 brew 安装。
2026-04-12 21:05:14 +08:00
odboy 455d6aa6f0 docs(c-client): 完善 README 文档
- 添加完整的依赖安装说明(macOS/Ubuntu/Debian/CentOS)
- 补充快速开始示例代码和配置变更监听示例
- 添加完整的 API 参考文档
- 补充配置参数表格
- 添加完整示例代码
- 添加 Demo 运行指南
- 补充注意事项(JSON 解析、缓存、线程安全等)
- 添加与其他客户端对比表格
- 添加版本历史和后续开发计划
2026-04-10 21:00:37 +08:00
odboy 8dfe811555 docs: 清理 C/C++ 客户端中加密相关的残留引用
- docs(c-client): 移除 OpenSSL 加密库依赖说明
  - 移除 README 中的 OpenSSL 依赖和 AES-128-CBC 解密功能说明
  - 更新编译命令,移除 -lssl -lcrypto
  - main.c 注释移除 decrypt 提及
- docs(cpp-client): 移除 OpenSSL 加密库依赖说明
  - 移除 README 中的 OpenSSL 依赖和 AES 解密功能说明
  - 更新编译命令,移除 -lssl -lcrypto
- docs(README): 更新 C/C++ 客户端说明
  - 移除 libcurl + OpenSSL 的描述
  - 更新编译命令,移除加密库链接

说明:项目已确认不使用配置加密功能,所有加密相关代码和配置已清理完毕。
2026-04-07 21:08:45 +08:00
odboy 4c3648cf7f feat: 新增 8 个语言客户端 SDK
- PHP 客户端 (kenaito-conf-php-client)
- .NET 客户端 (kenaito-conf-dotnet-client)
- C 客户端 (kenaito-conf-c-client)
- C++ 客户端 (kenaito-conf-cpp-client)
- Lua 客户端 (kenaito-conf-lua-client)
- Kotlin 客户端 (kenaito-conf-kotlin-client)
- Rust 客户端 (kenaito-conf-rust-client)
- Ruby 客户端 (kenaito-conf-ruby-client)

每个客户端包含完整的 SDK 实现和 demo 示例,支持:
- 配置拉取(全量/增量)
- AES-128-CBC 解密
- 本地缓存
- 变更回调
- Token 认证

更新根目录 README.md:
- 技术栈列表新增 8 种语言
- 项目结构新增 16 个目录
- 客户端接入章节新增 8 个使用示例
2026-03-05 21:14:42 +08:00