前段时间一直在看开源项目flamingo和teamtalk部分内容,这两个都是像大家常用的聊天软件QQ,微信一样。近期决定按照自己的想法写一个即时通讯软件的服务器端,特此记录写的过程。
主要是照着flamingo的框架写,所以给出flamingo的介绍。链接:服务器端编程心得(七)——开源一款即时通讯软件的源码_左雪菲的专栏-CSDN博客
第一篇就简单梳理下主函数的流程,我将按照这个流程一步步完成这个项目。
int main(int argc, char *argv[]) {
//1 设置信号处理函数
//2 是否已守护进程开启服务器,getopt函数
//3 解析配置项类实例化
//4 根据配置项,配置日志位置,文件名
//5 得到日志的文件名,实例化日志类
//6 根据配置项,实例化数据库MySQL类(这里是用的短连接,准备用连接池)
//7 实例化缓存类的(这里是用std::list实现,准备用redis)
//8 根据配置项,实例化聊天服,监控端口服,http服(先写聊天服的,后面两个看情况)
//9 进入事件循环EventLoop
return 0;
}
加油!
完~