摘要:
从2011年从业至今已经写了7年C++了,而C#、go语言虽然早有涉猎,但直到最近才开始思考语言的发展和工程之间的关系。 C++ 更容易写出高内聚代码使用指针做原地内存操作直接堆栈控制,减少内存分配,提高利用率调用原生操作系统api,利用os特性使用模板元编程制作接口统一算法库引用计数的智能指针解决 阅读全文
摘要:
刚开始写博客的时候是打算用文字记录一些写过的东西,以便加深印象。但是经常写着写着就会变成贴代码加少量的文字描述了,这样虽然省事,但是起不到写博客的效果。其实之所以用文字来描述代码的思路,一定是因为代码不方便阅读,用文字和图片的形式把思路理清楚,代码自然就不需要了。所以呢,写技术博客应该有这几种情况: 阅读全文
摘要:
今天发奇想,想试试康威生命游戏。规则非常简单: 每个细胞有两种状态 - 存活或死亡,每个细胞与以自身为中心的周围八格细胞产生互动。(如图,黑色为存活,白色为死亡)当前细胞为存活状态时,当周围低于2个(不包含2个)存活细胞时, 该细胞变成死亡状态。(模拟生命数量稀少)当前细胞为存活状态时,当周围有2个 阅读全文
摘要:
在C++里面,std::string的length()返回的是字节数,与编码方式有关。 上面的代码,使用GB2312编码,输出结果是10和10. 而在C#里面,string.Length属性返回的是字符数,与编码方式无关。 上面代码输出结果是5和15. 阅读全文
摘要:
在游戏服务器开发中,跨平台不是必须的。线上游戏既有windows下的C++、.Net服务器也有linux下的C++、go、erlang服务器。 但是无论如何都要保证开发环境和线上运行环境的一致 ,否则不同平台的问题可能引发致命的后果。 很多人希望使用windows开发,以使用其便利的开发环境,然后在 阅读全文
摘要:
网络游戏的外挂、攻击主要有这么几种形式: 1. 加速挂,主要攻击客户端脱机战斗的游戏类型。 2. 修改内存,也是针对客户端的,修改血量、攻击等数值。 3. 破解通信协议,如果通信协议未加密或者使用了简单的加密方式,都可以用工具破解,然后分析协议内容得到协议结构。 4. hook通信协议,用其他方式分 阅读全文
摘要:
昨天遇到一个奇葩的问题,服务器正常运行但经常出现客户端无法连接的问题。我很好奇,在accept返回的地方断点,发现无法accept了。这就怪了,以前从没出现过这种情况。服务器网络用的asio,无法accept应该就是线程阻塞了,我暂停查看了一下所有线程,发现服务器在收到一个链接的时候,暂停了。暂停的 阅读全文
摘要:
在没做游戏之前,我主要的任务就是实现各种基于tcp、udp或者串口的通信协议。当我要设计一套基于tcp的网络游戏协议时,感觉应该很简单,以前各种国际标准的协议都实现过,自定义的协议还不手到擒来。然而事实打完我的脸告诉我,设计协议本身要比实现它难度大得多。 先说说什么是通信协议,两个不能共享数据... 阅读全文
摘要:
博客园的markdown不知道怎么插入C++代码,只好放弃了。。本文在我的blog发布:http://jwk000.github.io/2015/09/02/20150902/ 阅读全文
摘要:
> 人不想死的一个主要原因就是不想放弃思考的权利。活着的人更要善用这等权利,让自己的生活更可控,掌握自己的命运。> 所以我们需要整理,保持有序防止混乱;总结,找出问题思考对策;计划,改善行为控制生活。##博客、笔记、思维导图`事件备忘录`、`TODOList`、`流水日记`,归为`笔记`一类,作为日... 阅读全文