一.配置好boost和jsoncpp环境。
二.创建CServer类来监听链接,创建Connection类来管理连接,同时Connection用单例类来实现,使得管理连接的对象只有一个,以免出现混乱。创建LogicSystem,同样用单例类实现,确保有 HTTP 请求的路由和处理逻辑都通过这个单例进行管理,目前暂时处理post和get请求。并且在LogicSystem构造函数里初始化,使其注册默认路由。
LogicSystem代码如下:
三.在HttpConnection类中实现检查连接是否超时和解析对应的http文件,将解析的请求通知给不同的模块,这里要注意的是当接收到Post的请求时,发送给LogicSystem,LogicSystem再调用VerifyGrpcClient类中的grpc发送验证码服务
(太长了我就不截图了,可以上我的代码仓库看)
四. VerifyGrpcClient类封装一个轻量级的grpc客户端,同样通过单例实现,在这个客户端里实现发送邮箱获取验证码
五.创建了一个配置文件管理类ConfigMgr来读取ini文件,通知配置ini文件如下图
同时引入概念-----------------------------------------------节。
节”(Section)是一种 逻辑分组机制,用于将相关的配置项归类到一起。
它类似于文件系统中的“文件夹”,或者代码中的“命名空间”。
例子如下:
[Database] ; 这是一个节(Section)
host = 127.0.0.1 ; 键值对(Key-Value)
port = 3306 ; 键值对
[Log] ; 另一个节
level = debug ; 键值对
path = /var/log
在 ConfigMgr
中:SectionInfo
管理一个节的键值对,ConfigMgr
管理所有节。