BattleSvrMain.cpp

main()入口  ,调用框架Framework/MainImp.cpp标准的初始化, 循环处理, 结束退出三步骤

/MainImp.cpp

1. 初始化: init_app

a: CAppCtx* pAppCtx 基本配置

b: 启动格式:

fprintf( stderr, "example usage:\n\t%s"
" --id=busid --bus-key=xxx --channel-size=xxx --business-id=xxx"
" --conf-file=../conf/xxx_conf.xml --routerconf-file=librouter_zk_conf.xml --daemon start\n", servname );

c: 创建 CBattleSvrApp实例, 并且传给skynet的 gGlobalCtrlBlock.pCurrentApp

d: 检测pidfile, 创建pidfile, 注册atexit( remove_pidfile );

e: 配置log文件名

f: 随机种子初始化

g: 调用CBattleSvrApp的init初始化

2. 循环: run_app

a:  while循环, ,循环条件pAppCtx->m_is_shutdown

b: 循环dothing:pApp->Tick() tick循环,每帧调用一次

c: 循环dothing2: pApp->Proc() 主要是HandleENet和HandleRouter,两类消息

d: 如果dothing2没有什么事情,则sleep,平衡帧速  pApp->Idle()

3. 退出: fini_app

a: pApp的退出,有标准接口            pApp->Fini();            pApp->Stop();

b: fini_bus()

c: free( pAppCtx )

这是上层的基本框架和流程

转载于:https://www.cnblogs.com/sophirine/p/4936170.html

battlesvr结构相关推荐

  1. 什么是LinkedList?什么时候使用它呢?Java LinkedList结构、用法及源码解析

    前言:我们学习java时都知道ArrayList实现List接口,LinkedList也实现List接口,但我们平时用的时候LinkedList却很少被用到.那么,LinkedList什么时候该用到呢 ...

  2. 2022-2028年中国环氧结构胶行业市场研究及投资前景预测报告

    [报告类型]产业研究 [报告价格]¥4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国环氧结构胶行业市场行业相关概述.中国环 ...

  3. Go 学习笔记(84)— Go 项目目录结构

    1. 目录规范 一个好的目录结构至少要满足以下几个要求. 命名清晰:目录命名要清晰.简洁,不要太长,也不要太短,目录名要能清晰地表达出该目录实现的功能,并且目录名最好用单数.一方面是因为单数足以说明这 ...

  4. Gin 框架学习笔记(02)— 参数自动绑定到结构体

    参数绑定模型可以将请求体自动绑定到结构体中,目前支持绑定的请求类型有 JSON .XML .YAML 和标准表单 form数据 foo=bar&boo=baz 等.换句话说,只要定义好结构体, ...

  5. etcd 笔记(06)— Client 结构定义、客户端(初始化、KV存储Get、Put、事务 Txn、压缩 Compact、Watch、Lease

    1. Client 定义 Client 定义如下: type Client struct {ClusterKVLeaseWatcherAuthMaintenance// 认证的用户名Username ...

  6. etcd 笔记(05)— etcd 代码结构、各模块功能、整体架构、各模块之间的交互、请求和应答流程

    1. etcd 项目结构和功能 etcd 项目代码的目录结构如下: $ tree ├── auth ├── build ├── client ├── clientv3 ├── contrib ├── ...

  7. Go 知识点(04)— 结构体字段转 json格式 tag 标签的作用

    我们知道在 Go 语言中无论是变量.常量还是函数,对于首字母大小写有不同的处理. 首字母大写,标志着该字段或者函数是能导出的,也就是可以被其它包所能访问的: 首字母小写,标志着该字段是私有的,只能在本 ...

  8. 2022-2028年中国聚氨酯结构胶行业发展动态分析及投资机会预测报告

    [报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了聚氨酯结构胶行业相关概述.中国聚氨酯结构胶行业运行环境.分析了中国聚 ...

  9. OpenCV 笔记(06)— Mat 结构、像素值存储方法、创建 Mat 对象各种方法、Mat 对象的运算

    数字图像中的每个点都称为像素(对于图像元素),并且每个像素可以存储一个或多个值,这取决于它是否是仅存储一个值的黑白图像(也称为二进制图像,比如只存储0或1),还是存储两个值的灰度图像,或者是存储三个值 ...

最新文章

  1. 如何在同一台电脑上多个账户同时登陆MSN
  2. DevOps 的发展史
  3. 架构师之路 — 软件架构 — 软件版本定义
  4. linux shell 里面执行python 程序_Linux下编写脚本Shell和Python的区别?
  5. 全球及中国碳化硅 (SiC) 肖特基二极管行业竞争潜力与供应规划研究报告2022版
  6. TCC分布式实现原理及分布式应用如何保证高可用
  7. 二分法查找的JAVA程序
  8. DHCP+TFTP+PXE自动网络引导安装Linux操作系统
  9. linux 所有文件大小排序,linux 根据文件大小排序
  10. 单片机ISP烧录原理
  11. 扫码枪测试软件,有线条码扫码枪的测试方法
  12. 模拟电路,包括低频(模拟电子技术基础)和高频(高频电子线路)
  13. 解决Selenium2Library 导入报错问题
  14. 不想下载那么多音乐软件?全网音乐在线听和下载
  15. API文档自动生成工具
  16. 开源构建知识库体系的工具——Trilium使用方法
  17. wps 表格 自动生成序号
  18. 物理信息融合系统CPS---数据流(SDF/DDF)
  19. 加拿大量子计算机原理,量子计算机是基于什么原理而制造出来的?
  20. linux环境下使用virtualbox安装ghost系统

热门文章

  1. Math工具类常用API使用案例
  2. Postman中几个body请求格式区别及使用说明
  3. Java异常中受检异常非受检异常与RuntimeException异常关系
  4. QML做图片倒影效果(控件倒影)
  5. 从接触FPGA开始...
  6. Ubuntu关闭anaconda自动进入base虚拟环境
  7. Java方法的引用(打造Lambda表达式的升级版)
  8. sftp服务器同步文件到本地,服务器之间通过sftp的方式同步文件,并入库到本地数据的表中...
  9. 得到app文稿导出_再见了扫描仪!微信打开这个功能,一键将纸质文稿扫描成电子档...
  10. easyui框架前后端交互_easyui前后端分离