- 博客(141)
- 资源 (26)
- 收藏
- 关注
原创 chrome环境搭建
depot_tools: 由于中国网络导致下载失败。重新fetch提示错误。问题在于fetch.py的Checkout::exists判定了depot_tools\.gclient, depot_tools\src,depot_tools\.gclient是否存在。如果存在删除了就可以重新开始。 错误提示:uour current directory appears to already
2015-10-10 10:34:49
4120
原创 MongoDB学习记录
MongoDB学习记录Replication SetOplog:所有的数据库的写操作记录在 oplog collection。Replica set 的secondary服务通过 oplog来进行同步。其他客户端能够在写的客户端写操作返回之前就独到写的数据。客户端能够独到后续被 rollback的写数据。PriorityElectionHidden MemberDelayed Replic Set
2015-09-18 11:44:39
1886
原创 游戏服务器主程白皮书-内存使用的稳定与安全
3.1.2 内存使用的稳定与安全 内存的直接访问对于程序员来说是一件非常酷的事情(高效、强大、可定制),但是对于C++程序故障80%的故障是内存问题导致的,99%的宕机问题是内存问题导致的。Java、C#等语言都把内存管理封装了,就是为了降低编程难度,降低故障率。对于游戏服务器内存问题并非那么恐怖和无法避免。就目前的项目经验,把好几个问题的关,就可以保证服务器不宕。另外服务器的稳定
2015-09-07 14:37:31
2036
原创 记录一下C++和C#中的字符串处理与编码格式的问题
下面是字符、字节、编码格式的基础知识:http://www.regexlab.com/zh/encoding.htm程序中涉及的会有几次的编码格式的转换:1. 代码文本,字符串是按我们文本设定的编码方式保存的2. 代码运行期间,字符串在内存中是以一种编码方式保存的3. 代码如果产生字符串输出,输出到问题的字符串不同的IO类会产生不同编码方式的保存,当然这个可以设置实现更改因为同一个字符串存在了3次
2015-09-02 10:55:44
2233
2
原创 游戏服务器主程白皮书-3.1 运行稳定性
3.1 运行稳定性服务器的运行稳定性的产品展现当然就是7*24小时,甚至更久的不间断运行的产品质量。通俗一点说,就是服务器在7*24小时运行时间内服务器不出现卡顿,不出现宕机。对于C++来说,宕机的原因99.9%是因为内存问题,内存的直接操作是让C++程序员又爱又恨的东西。其他的可能还包括物理故障、除数为0、系统问题(虚拟机问题)等。而卡顿的原因主要体现在CPU的使用率上。服务器CPU使用
2015-09-01 15:04:53
2350
2
原创 游戏服务器主程白皮书-服务器稳定性把控
三、 服务器稳定性把控软件产品的特性包括性能、稳定性、可扩展性、可维护性、安全性。我们做游戏服务器的时候这几个方面也是需要我们时刻进行权衡的,因为很多时候这些特性是存在矛盾的。比如可扩展性必定增加代码的复杂度,从而影响性能和可维护性;性能必定需要进行算法和数据结构上的定制,必然影响可扩展性和可维护性;安全必定增加中间步骤,必然影响流程性能和稳定性。那么在做系统设计时最重
2015-08-25 16:53:50
1322
原创 游戏服务器主程白皮书-概述
先从游戏团队组成和服务器团队组成上描述一下服务器主程的工作环境。游戏研发涉及4个团队,程序、策划、美术、测试;游戏后续的运营还会有运营、运维和客服团队。一般来说,大多数的程序团队都是分成了客户端与服务器两个独立团队。因为客户端涉及更多的显示相关和系统兼容性的问题,而服务器需要保证稳定性和逻辑正确性。这两部分内容是完全独立的,目前同时具备两方面能力的人才成本太高。而有少数的程序员同时负责客户端和
2015-08-24 15:27:53
1984
原创 游戏服务器主程白皮书-序言
在从事游戏开发的6年时间里面,涉及的内容包括运营平台、GM工具、MMORPG、FPS游戏。期间得到很多同事、领导的帮助,在技术和管理上都有了自己的进步和总结。由于在与团队成员的约谈过程中,几乎所有想要继续做游戏的程序员都会提到一个问题:“怎么样成为一个主程?”因为这个就是大家的努力方向,是大家学习的一个阶段性目标。游戏服务器主程应该来说是一个对技术要求繁杂,几乎涉及了处理显示相关的其他各种
2015-08-24 15:23:19
1466
原创 有关Couchbase制作静态链接库嵌入服务器工程
有关Couchbase制作静态链接库嵌入服务器工程1. 文件列表cbsasllibcouchbase-2.4.9\contrib\cbsasl\srccouchbase_iocplibcouchbase-2.4.9\plugins\io\iocpcouchbase_selectlibcouchbase-2.4.9\plugins\io\selectcouch
2015-07-06 17:02:27
794
原创 汇编原理复习
总线:地址总线8086 16位结构,却要进行20位地址总线寻址。所以使用了段地址+偏移地址两个16位寄存器来通过地址加法器生成20位物理地址达到20位寻址能力数据总线控制总线CPU:运算器控制器寄存器控制器控制各种器件运行寄存器负责进行信息存储运算器进行信息处理总线链接各种器件寄存器:通用寄存器:SI、DI、AX、BX、CX、
2015-01-22 15:09:17
816
原创 visual studio的/stack设置
对于服务器来说,直接吧stack设置大一点。在这个物理内存不是钱的年代貌似一点问题没有。提升了服务器性能,仅仅降低启动速度。但是实际上并非如此。stack资源是跟随这线程来的。每个线程都有自己的stack资源。所以设置了这个后,会根据实际的线程数,内存资源使用量倍增。
2015-01-20 16:18:40
1446
原创 有关内存池的思考
内存泄漏、野指针、内存溢出是C、C++程序有关内存的三个不可避免,又非常严重的问题。而服务器由于内存稳定性的要求,内存池的存在又是不可避免。内存池的使用如何防止、排查这三个问题也就是内存池的一个关键要求。内存泄漏的排查比较容易实现。只想增加内存池的debug日志上面增加__FUNCTION__,__LINE__就可以了。通过压力测试,打印debug日志的形式很容易分析出来内存泄漏的点。
2014-12-17 20:38:16
860
转载 Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Couchbase vs OrientDB vs Aerospike vs N
Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vsHBase vs Couchbase vs OrientDB vs Aerospike vs Neo4j vsHypertable vs ElasticSearch vs Accumulo vs VoltDB vsScalaris comparisonhttp://kkovac
2014-12-05 16:20:42
1191
原创 有关UDP打洞Session保持时间
最近游戏上线,发现了很奇怪的事情。最后确认是UDP映射保持时间的问题,UDP映射保持时间有一部分设备远比想象的短。经测试差不多15-20s左右,映射就被重置了。可以看到34s, 该客户端的映射就已经重置了。不过通过玩家反馈以及客户端日志对比,不少玩家20s,21s的时间间隔,映射就已经被重置了。目前实际最短时间设置不清楚。不过据说华为的一部分设备默认时间是20s,应该是业界最短时间了。
2014-11-27 21:43:06
4821
1
转载 curllib的编译
http://blog.youkuaiyun.com/zengraoli/article/details/9189449额外
2014-11-03 16:45:23
743
原创 有关服务器协议设计的总结
有关服务器协议设计的总结下面内容都是经验教训,与大家共勉。1. TCP、UDP对比一下吧a) TCP优点 i. 按字节流保续 ii. 只要连接在,保证到达 iii.
2014-03-04 21:36:17
1526
原创 IOCP接收性能测试。瓶颈或者问题?
环境物理机 * 7:1台作为服务器,6台作为客户端 CPU:E5405 2.0GHz4*2 Mem:16G NetworkCard:1000M*2系统: Windows2008 Server R2测试方式1. DOETest工程release版编译测试服务器。2. DOECl
2014-02-26 19:09:00
1673
转载 NP使用经验——中国区慎用
1. Np中国没有什么技术能力,都是支持团队,他们没有积极解决问题的意愿,能力也有限,反馈速度也较慢。例如我们这边发现有个客户端问题玩家进不了游戏,问np是不是np的问题,他们会查一下说有这个问题,后面又发现其他问题,问一下,说确实也有这个问题也无法解决,如此往复。 2. windows升级后,NP一定会禁止登陆发114报错,这个是np遗留问题,硬伤,无法解决
2013-12-17 14:09:40
1824
原创 vs2010有关Release版本dump内变量值显示错误问题的解决
首先vs2010版本存在鼠标在变量上没有显示Tips, watch里面输入变量名显示无法找到该变量的问题。这是一个Bug,需要打SP1补丁。再次验证了MS的东西,没有出SP1是无法正常用的理论。除此之外,还是存在部分变量无法显示,this指针显示内容错误,显示的局部变量信息错误等问题。这个问题时Og优化导致的。使用O2优化的时候其实是进行了8个优化/Og/Oi/Ot/Oy/Ob
2013-09-11 20:30:54
1643
原创 数据库相关
数据库性能优化1.主键2.索引3.减少行数 ———— 二进制流4.列拆分5.行拆分数据库操作流程思考游戏的数据存储按照对象分成两部分。玩家数据和服务器数据。游戏的数据存储按照存储写操作方式分成两种。立即存储和缓存定时存储。对于交易相关数据库流程存在两种方案1. 基本功能独立修改方案对于通用交易货币制作基本流程,所以其他流程
2013-08-22 14:31:39
766
原创 游戏的登陆和离线流程思考
1.登陆流程a.LGW connect tokenverify versionverifyb.LGW->Cluster Login1b.Cluster->GW Occupyc.GW->Cluster Occupy Ackd.Cluster->LGW GWOccupyNtfe.LGW->Client GWOccupyNtf MD5Ntff.LGW Disconnect
2013-08-01 16:59:51
1069
原创 IOCP系统Bug
对IOCP对象进行GuidDisconnectEx。很小的概率会导致没有IOCP返回。具体原因还不清楚,已经排除没有进行适当IOCP的问题。我们把其成为僵尸问题。目前的解决方案是记录连接对象的GuidDisconnectEx调用次数,如果超过4次,就直接进行Closesocket操作。
2013-07-30 11:08:53
861
原创 有关服务器属性系统的思考
脑袋有点凌乱,需要整理有关游戏属性与存储方式游戏属性可以分成2类:静态属性、动态属性1.静态属性:该属性对于属性所属的对象是不会随着游戏进行而变化的2.动态属性:该属性在游戏的进行过程中会进行变化。动态属性又可以分成2个子属性。基础属性、衍生属性a.基础属性:就是该属性的具体数值不能通过其他属性计算而得b.衍生属性:该属性的具体数值通过其他属性就可以计算而得
2013-07-24 21:43:28
887
原创 Sharp 60x640a的那点事
当时觉得买电视有啥,结果还是被一些小事弄得浪费不少时间。1. 3D.x640a只支持快门式的3D电影。蓝光里面的红蓝之类的3D电影就别想看了。去http://bbs.cnliti.com/下点上下格式的3D电影看吧。目前我家电视看变形金刚3 百事通版的电影,完全没有办法看。快速动作的3D完全是断开的,一卡一卡的(不是网络卡,是播放影像卡)2.家庭网络x640a直
2013-07-17 07:07:05
1602
原创 Openerp开发进销存系统完毕总结
差不多用了2个星期的闲余事件,对于openerp v7.0进行了学习和应用开发。细节总结如下安装Openoffice在openoffice中安装openerp report designer插件(openerp 7.0中自带)1.保存openoffice文件在英文路径下。如果不保存,send to server的时候会没有反应2. 主要类osv open
2013-06-21 09:28:53
8208
1
原创 有关可能在遍历中进行资源释放的资源释放过程设计
有关可能在遍历中进行资源释放的资源释放过程设计1.存在Tick,可以把释放的资源记录。在下一帧开始或者该帧结束的时候进行统一的释放class ActorManager{public:void Tick(){m_arActor.Tick();Clear();}void Free(Actor*){m_arActorWaitForFre
2013-06-14 16:02:13
849
原创 Overlap IO与IOCP对比
有关Overlap与IOCP的区别一直搞的不是很清楚。最近仔细分别用两种方式写了一次代码,总算搞清楚了。其实归结到就一句。IO完成后的回调处理是否支持多线程处理。区别很简单。在进行WSARecv,WSARecvFrom,WSASend,WSASendTo函数调用之后,如果使用Overlap IO,则需要使用WaitForMultiEvents把所有的Overlap的Event数组作为参
2013-05-31 09:38:53
2337
原创 window 时间获取
在windows中有几种类型的时间函数time(): 获取从1970.1.1 0:0:0开始的秒数。精度秒timeGetTime(): 获取服务器开机以来的时间。最长49.7天。精度系统时间片精度,基本保证时间精度在1-16之间。基本上是1ms左右GetTickCount(): 获取服务器开机以来的时间。最长49.7天。精度系统时间片精度。win7 15-16msQueryPerf
2013-05-22 18:21:42
811
原创 vs2010析构过程与虚函数指针
在vs2010中,调用析构函数后,该对象的虚函数指针,会指向基类的虚函数表。比如:class TBase{public:virtual void TT(){printf(__FUNCTION__"\n");};}class TChild : public TBase{public:virtual void TT(){printf(__
2013-05-20 14:41:14
939
原创 Openerp 404
今天把ubuntu 12.04的openerp从6.1更新到了7.0.结果打开localhost:8069发现显示404错误。察看日志,发现错误GET /web/webclient/home HTTP/1.1" 404查资料发现是浏览器缓存了6.1的webclient导致重定向错误,导致。解决办法只要清空浏览器缓存就OK.浪费了我一晚上时间。
2013-05-11 06:48:27
1124
原创 openerp的非数据库表对象
openerp的模型基本都是对应于一张数据库表。但是也存在对应多张已有表的情况,比如report.可以考虑使用数据库view来实现。注意内容如下:1.模型定义的_auto=False2.模型里面所有的字段都必须是readonly=True3.声明init(self, cr)函数,用来生成view4.view的试图字段必须与_columns中的完全相同例子如下:生
2013-05-06 21:17:45
1138
原创 Openerp的艰难开端
Openerp的下载安装很easy. 无论使用官网的All in One还是 http://sourceforge.net/projects/greenopenerp/files/ 的绿色开发版,都可以一下子就安装完毕Openerp。进去体验了一下仓库管理模块,感觉还是过于复杂了,也缺少一些制表功能。所以想要定制一下。看了一下入门视频,感觉制作一个普通进销存的流程还是相当eas
2013-05-04 21:59:36
1512
原创 有关vs2010 release版本调试this指针问题
这里会涉及两个问题,一个是如何实现vs2010调试的问题,一个是调试时this指针可能错误的问题1.如何实现vs2010调试a.设置Properties->Linker->Generate Debug Info:Yes(/DEBUG)b.设置C/C++->General->Debug Information Format:Program Database(/Zi)这样就实现了rel
2013-05-02 21:42:42
1401
原创 有关针式打印机和一体机的安装
帮老婆购买了映美FP-630K和富士施乐M158F打印机。安装到测试完毕花了差不多5个钟头。呼呼。安装的过程差不多2-3个钟头,另外的时间主要解决3个问题。1.映美打印错误。发现是使用了USB口,而默认的打印机设置是使用LPT口导致2.针式打印机 把超过一页的内容打印在多张连续的3联单上。使用的是智慧记,本身不支持表单的分析打印。3联单使用的是241-1规格的。
2013-04-15 21:45:25
1135
原创 有关服务器主程年总结
一.主程的工作分两方面a.项目开发b.团队管理二.项目开发项目开发主要是技术方面的。主要的内容包括:a.程序风险把控b.程序质量保证我把风险把控方在了质量保证前面。这个是有原因的。只要是管理人员,其最为重要的工作就是抉择,但是其每一个决定都是代表一个团队做出的。所以其对于风险的把控就是其第一要务。2.1 程序的风险把控我目前总结下来主要是两个方面:
2013-04-01 21:58:21
1705
原创 有关IOCP性能测试
环境:内网,中间间隔一个路由器服务器:CPU: Intel Xeon W3565 3.20G*4MEM: 4096M步骤:客户端IOCP直接发送当前的TickCount服务器IOCP在OnData里面直接回传客户端根据响应计算延时最后结果:每毫秒处理48个左右来回。之后有一个15-16ms左右的延时。结论:IOCP每个
2013-03-31 13:40:28
1448
1
原创 语音识别库整理
openEars是一个开源的语音识别+TTS库。可以在IOS下使用。 http://www.politepix.com/openears/tutorial/Julius是开源语音双向处理库,不过目前仅对日语支持比较好。 Linux和Windows下都可以使用。 http://julius.sourceforge.jp/en_index.phpSAPI
2013-03-29 10:23:06
3271
计算机数学教材合集
2012-12-13
Luaplus 51 2012.10.17
2012-10-20
大师谈游戏设计(3/3)
2012-03-15
大师谈游戏设计(2/3)
2012-03-15
大师谈游戏设计(1/3)
2012-03-15
WinGnuRegex2.7 window工程版
2011-01-13
COM原理、入门、精通
2009-09-16
计算机编程艺术(The Art of Computer Programming)四卷全.part1
2009-05-14
计算机编程艺术(The Art of Computer Programming)四卷全.part7
2009-05-14
计算机编程艺术(The Art of Computer Programming)四卷全.part6
2009-05-14
计算机编程艺术(The Art of Computer Programming)四卷全.part5
2009-05-14
计算机编程艺术(The Art of Computer Programming)四卷全.part4
2009-05-14
计算机编程艺术(The Art of Computer Programming)四卷全.part3
2009-05-14
计算机编程艺术(The Art of Computer Programming)四卷全.part2
2009-05-13
计算机编程艺术(The Art of Computer Programming)四卷全.part1
2009-05-13
大教堂与市集 (开源开发模式)
2008-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人