battlesvr结构
BattleSvrMain.cpp?
main()入口 ?,調(diào)用框架Framework/MainImp.cpp標(biāo)準(zhǔn)的初始化, 循環(huán)處理, 結(jié)束退出三步驟
/MainImp.cpp
1. 初始化:?init_app
a:?CAppCtx* pAppCtx 基本配置
b: 啟動(dòng)格式:?
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: 創(chuàng)建?CBattleSvrApp實(shí)例, 并且傳給skynet的?gGlobalCtrlBlock.pCurrentApp
d: 檢測(cè)pidfile, 創(chuàng)建pidfile, 注冊(cè)atexit( remove_pidfile );
e: 配置log文件名
f: 隨機(jī)種子初始化
g: 調(diào)用CBattleSvrApp的init初始化
?
2. 循環(huán):?run_app
a: ?while循環(huán), ,循環(huán)條件pAppCtx->m_is_shutdown
b: 循環(huán)dothing:pApp->Tick() tick循環(huán),每幀調(diào)用一次
c: 循環(huán)dothing2: pApp->Proc() 主要是HandleENet和HandleRouter,兩類消息
d: 如果dothing2沒有什么事情,則sleep,平衡幀速? pApp->Idle()
3. 退出:?fini_app
a: pApp的退出,有標(biāo)準(zhǔn)接口??????????? pApp->Fini();??????????? pApp->Stop();
b: fini_bus()
c: free( pAppCtx )
這是上層的基本框架和流程
?
轉(zhuǎn)載于:https://www.cnblogs.com/sophirine/p/4936170.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的battlesvr结构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 长城小汽车加92、95、97汽油有何区别
- 下一篇: 天安门广场让儿童骑平衡车吗