趁着周末,也来挖个坑 ! !
稍微写了一点,还有很多没有完成OpenMPRDB-cli
仔细想了想,命令行的话还是C++最舒服,所以使用了C++语言作为实现,目前没有依赖外部库,仅仅实现了注册部分
关于外部依赖的一些想法:
感觉一开始似乎是理解错了外部依赖,写了些解析命令行还有json的部分.(又造了个全是bug的轮子)
主要烦人的应该是动态链接库在服务器中那令人绝望的依赖树:
但是这个问题应该是可以解决的:
- 执行静态链接,然后把需要的库的某个版本拉取下来就行
- 又或者直接导入相关程序的源代码和GPL证书,然后再导入调用相关函数,最后重新编译
- 编写头文件,调用应用程序的二进制代码进行链接
- 直接调用应用程序(目前采取的方案,主要是这个gpg秘钥的签名格式实在是太眼熟了)
在通讯方面,现在采用的方法是直接调用服务器已经安装的curl和gpg命令,也就是只要服务器安装了这两个应用程序即可,类似于使用git时会通过fork()调用vi程序
gpg在使用私钥时会弹出一个密码验证的窗口,在命令行会报错,目前是通过追加
--batch --passphrase [password] --pinentry-mode loopback
参数来实现的,查了下文档,这些参数在gnupg v2.1 v2.1+ 和v1.xx 有较大使用差距,也算是一个棘手的问题
没啦,后面会慢慢完善的