kingate的大概流程

柔情似水似你m_

柔情似水似你m_

2016-01-29 18:40

kingate的大概流程,kingate的大概流程

  收到一些网友的来信,要求给kingate写个开发文档,这样就有个思路,看代码就方便了。由于我平时懒,写程序还没有奍成写文档的习惯。所以现在临时性的写一些,我想以后来慢慢完善。
  首先程序完成一些初始化操作,很常规性的东西。比如检查参数类的。然后就调do_config.cpp文件里面的do_config()函数,调入配置文件,有一个全局的变量conf(是个结构,在do_config.h文件里面定义),依据配置文件的内容,设置conf里面的各个变量,读配置文件由config类完成(在config.cpp文件里面)。这里面包括读取过滤配置,过滤系统由filter类完成(在filter.cpp里面),由于过滤系统是动态的,即一条规则在什么时间里面有效,检查时间由cron类完成(借用了crond源代码)。完成这些初始化操作,主线程就根据配置文件启动服务,由main.cpp里面的start()函数完成。start()函数的作用就是把这个服务放入一个单向列表里面。有一个相对的函数是stop()函数(也在main.cpp文件里面),把一个服务从这个列表删除,这个单向列表的表头指针是service_head是全局变量。随后这主线程转入utils.cpp里面server_proxy函数,并产生一个辅助线程(time_thread()函数入口),主线程依据service_head所指的单向列表进行select动作,如果有用户连接的话,select就返回,并产生一个线程和用户交流,新的线程入口函数是
  server_thread函数,如果是http代理,就转到run_client函数(在run_client.cpp文件里面),其它的就先建立连接,由各个代理建立连接函数完成,create_XXX_connection之类的。就转到create_select_pipe函数,完成数据代理。辅助函数的作用就是清除cache中无用的物件,每2秒进行一次。
  
展开更多 50%)
分享

猜你喜欢

kingate的大概流程

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
kingate的大概流程

无痛上环费用大概多少?

怀孕
无痛上环费用大概多少?

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

玻尿酸隆鼻的费用大概多少

硅胶隆鼻的危害
玻尿酸隆鼻的费用大概多少

处女膜的位置大概有多深?

生活常识
处女膜的位置大概有多深?

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

激光祛斑大概需要多少费用

电脑网络
激光祛斑大概需要多少费用

怀孕初期小腹痛大概多少天

怀孕初期 怀孕
怀孕初期小腹痛大概多少天

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

小心使用的XP终极减肥大法

小心使用的XP终极减肥大法

用金山文字制作请款单

用金山文字制作请款单
下拉加载更多内容 ↓