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