网络在我们的日常的使用中已经占了99%的时间的,没有网络的话很多的工作还有日常的沟通都是不能进展的,那我们在电脑中有小伙伴大仙网络不能连接提示是ip地址错误的情况造成的,那我们遇到这样的问题应该怎..
再谈登录服的实现 离我们的登录服实现已经太远了,先拉回来一下。 关于登录服、大区服及游戏世界服的结构之前已做过探讨,这里再把各自的职责和关系列一下。 GateWay/WorldSe..
服务器公共组件 -- 事件与信号 关于这一节,这几天已经打了好几遍草稿,总觉得说不清楚,也不好组织这些内容,但是打铁要趁热,为避免热情消退,先整理一点东西放这,好继续下面的主题,以后如果有机会..
服务器公共组件实现 -- 状态机 有关State模式的设计意图及实现就不从设计模式中摘抄了,我们只来看看游戏服务器编程中如何使用State设计模式。 首先还是从mangos的代码开始看起..
服务器公共组件实现 -- 发包的方式 前面一直都在说接收数据时的处理方法,我们应该用专门的IO线程,接收到完整的消息包后加入到主线程的消息队列,但是主线程如何发送数据还没有探讨过。 一般..
服务器公共组件实现 -- 环形缓冲区 消息队列锁调用太频繁的问 题算是解决了,另一个让人有些苦恼的大概是这太多的内存分配和释放操作了。频繁的内存分配不但增加了系统开销,更使得内存碎片不断增多,..
服务器公共组件实现 -- 消息队列 既然说到了消息队列,那我们继续来稍微多聊一点吧。 我们所能想到的最简单的消息队列可能就是使用stl的list来实现了,即消息队列内部维护一个list和..
服务器公共组件实现 -- 继续来说主循环 前面我们只简单了解了下mangos登录服的程序结构,也发现了一些不足之处,现在我们就来看看如何提供一个更好的方案。 正如我们曾讨论过的,为了游戏..
服务器公共组件实现 -- mangos的游戏主循环 当阅读一项工程的源码时,我们大概会选择从main函数开始,而当开始一项新的工程时,第一个写下的函数大多也是main。那我们就先来看看,游戏服..
登录服的设计 -- 功能需求 正如我们在前面曾讨论过的,登录服要实现的功能相当简单,就是帐号验证。为了便于描述,我们暂不引入那些讨论过的优化手段,先以最简单的方式实现,另外也将基本以mango..