# miao-client **Repository Path**: ling1314/miao-client ## Basic Information - **Project Name**: miao-client - **Description**: miao-client - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-09-08 - **Last Updated**: 2024-11-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 配合 veapp 使用的 host service 服务。 env GOOS=windows GOARCH=amd64 go build -o va-host-service.exe ##### 功能和定位 服务器启动时会和 veapp 主服务建立tcp长连接,定时上报信息和接收主服务发送下来的指令。 同时会需要接收 session monitor 的消息转发给 veapp主服务,也需要将 主服务的信息转发给 session monitor。 信息采集会调用cli插件程序来完成。 #### 知识点 ##### 1.关于服务路径的问题 在windows下当程序以服务形式启动时 `.` `os.Getwd()` 获取到的路径都是 `C:\WINDOWS\system32`。viper设置读取配置文件路径为`.`时也是这个路径。 要获取到exe的实际路径应该使用 `os.Executable()`,然后再使用 `filepath.Dir(str)` 获取到目录。 ##### 2. github.com/kardianos/service 注册服务的问题 这个库本身读取了一些子命令,例如 install,start 等等,当使用cli将服务二次封装时不能直接按 miao-client-plugin 的标准来封装。 目前代码main中的 help 输出也不是一个标准的 cli help 信息,但是我感觉比较适合目前使用和理解。原来的 app-host-service-cli 花里胡哨写一堆看着牛逼但不实用,感觉是为了设计而设计。