金慶的專欄
C++博客
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評論 :: 0 Trackbacks
公告
我的隨筆
我的評論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網(wǎng)游開發(fā)(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊
公告照片
搜索
積分與排名
積分 - 654326
排名 - 25
最新評論
1.?re: boost::asio::spawn 將一統(tǒng)C++網(wǎng)絡(luò)庫
asio 成為C++首選網(wǎng)絡(luò)庫
--linda
2.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標題查看
--金慶
3.?re: mingw編譯OrzNet
能發(fā)送一個mingw編譯好的OrzNet庫給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標題查看
--bigbad
5.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯誤(11017)
2.?SVN中邪惡的replace(10939)
3.?VS2005編譯libevent(10405)
4.?混音算法的學習與研究(10184)
5.?C調(diào)用lua腳本的效率測試(9003)
評論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯誤(18)
4.?C++引用優(yōu)于指針(17)
5.?ACE與ASIO之間關(guān)于Socket編程的比較(16)
客戶端服務器應統(tǒng)一庫的使用
客戶端服務器應統(tǒng)一庫的使用
網(wǎng)游服務器和客戶端有許多功能是完全相同的。相關(guān)功能的代碼應該是可以共用的。
但是服務器和客戶端使用了一些專門的工具庫,使兩邊的代碼不能直接共用。
如裝備升級功能中,哪個裝備添加哪些材料,花費多少,最終生成哪個裝備,
這些由一個配置文件配置,服務器端和客戶端是一樣的配置文件。
客戶端會預先判斷是否可以升級,然后向服務器請求。服務器會進行同樣的判斷。
配置文件的讀取和條件的判斷這兩個功能服務器客戶端是相同的。
相關(guān)功能的代碼應該也是可以共用的。
但是客戶端用的xml解析庫是tinyXml, 服務器用的是其他的xml庫。
客戶端大量使用了引擎自帶的工具庫,如單件,智能指針,
那一套與服務器的工具庫也是不能通用的。
客戶端是Windows平臺的,服務器是Linux的,各自使用了平臺專用的API,
結(jié)果也會造成無法通用。
為了能夠一份代碼兩邊共用,需要統(tǒng)一服務器和客戶端所使用的庫。
通用的功能都使用該公共庫,不得使用專用的庫和API。
1. 盡量使用 STL,BOOST 通用庫。
2. 客戶端3D引擎中通用的工具庫共享給服務器使用。
3. 使用平臺通用的庫和API。
(金慶的專欄)
posted on 2010-05-12 09:43
金慶
閱讀(537)
評論(3)
編輯
收藏
引用
所屬分類:
2. 網(wǎng)游開發(fā)
評論
#
re: 客戶端服務器應統(tǒng)一庫的使用
2010-05-12 18:13
戰(zhàn)魂小筑
客戶端跟服務器還要啥XML,直接上MySQL本地模式或者SQLite就好了嘛
回復
更多評論
#
re: 客戶端服務器應統(tǒng)一庫的使用
2010-05-13 09:49
金慶
@戰(zhàn)魂小筑
用數(shù)據(jù)庫來配置,代碼量更大,邏輯上多了一層,結(jié)構(gòu)上受限于數(shù)據(jù)庫的表格模式,各方面都沒有配置文件更適合。我認為,在網(wǎng)游中,只讀的數(shù)據(jù)應該用配置文件,數(shù)據(jù)保存才用數(shù)據(jù)庫。配置文件可以用INI,XML,或自定義文本格式,不應該用二進制格式,因為文本可以直接編輯。用XML有XML驗證功能,如判斷某個屬性必須配置,這一點上優(yōu)于其他配置文件。
回復
更多評論
#
re: 客戶端服務器應統(tǒng)一庫的使用
2010-05-14 10:08
戰(zhàn)魂小筑
@金慶
我在游戲項目里實際用過SQLite, 服務器端是SQLServer, 主要是考慮到后期運營維護, 更新服務器數(shù)據(jù)(比如商店, 換裝)后, 客戶端也需要更新.傳統(tǒng)的配置文件你得再寫一套轉(zhuǎn)換, 而且維護成本和BUG率很高, 很多公司使用EXCEL+CSV,簡單數(shù)據(jù)方便,但是批量修改, 還得SQL語句,這我們是實際操作比較過的.
我們后期把本地化字符串都放入SQL統(tǒng)一管理, 事實證明,工作流非常高效
回復
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
How are dtLinks created in NavMesh
UE4 Blueprint Multiple Event BeginPlay
第9代游戲主機
Canvas Scaler 的3種模式
幀同步是否允許客戶端指定命令幀號
rpc應答太快造成請求超時
測試 tolua 例子 TestErrorStack
lua變量缺少local造成unity死鎖
C# tolua 之間互傳 byte[]
Unity使用異步grpc
網(wǎng)站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
99久久免费国产精品热
|
国产精品成人99久久久久91gav
|
三级韩国一区久久二区综合
|
日日躁夜夜躁狠狠久久AV
|
久久久99精品成人片中文字幕
|
日韩人妻无码一区二区三区久久
|
99999久久久久久亚洲
|
久久精品中文字幕有码
|
无码专区久久综合久中文字幕
|
久久综合伊人77777
|
国产精品久久久久一区二区三区
|
亚洲国产综合久久天堂
|
久久综合伊人77777麻豆
|
久久一日本道色综合久久
|
亚洲?V乱码久久精品蜜桃
|
97热久久免费频精品99
|
2021国产精品久久精品
|
久久AV高清无码
|
四虎亚洲国产成人久久精品
|
国产成人精品免费久久久久
|
色天使久久综合网天天
|
久久久99精品成人片中文字幕
|
久久精品国产亚洲AV香蕉
|
7777精品久久久大香线蕉
|
亚洲国产欧美国产综合久久
|
国产精品成人久久久久久久
|
99久久婷婷免费国产综合精品
|
亚洲精品国产美女久久久
|
久久久国产99久久国产一
|
香蕉久久夜色精品升级完成
|
久久婷婷五月综合成人D啪
|
成人a毛片久久免费播放
|
97久久精品无码一区二区
|
久久久久免费看成人影片
|
久久亚洲精精品中文字幕
|
久久久久99精品成人片欧美
|
无码国产69精品久久久久网站
|
亚洲乱码中文字幕久久孕妇黑人
|
波多野结衣久久一区二区
|
女人高潮久久久叫人喷水
|
久久久久国产精品人妻
|