
Herm服务器引擎
herm_lib
一南游戏
腾讯IEG
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Herm程序员开发指导】目录
第1章 概述第2章 Herm Framework第3章 Herm Socket第4章 Herm Utils原创 2010-10-14 19:42:00 · 3137 阅读 · 9 评论 -
herm::cached 客户端与服务器协议一致性校验方法
cached根据protobuf的元数据机制去保存和读取数据库中的数据。为了简化服务器交互的复杂度,逻辑服务器用的protobuf和cached的protobuf,数据结构要完全一致。原创 2015-04-08 13:58:11 · 2751 阅读 · 2 评论 -
【Herm程序员开发指导】第1章 概述
http://blog.youkuaiyun.com/herm_lib daemon.huang # gmail # com 1.1 什么是Herm Herm是一套快速开发高性能的网络应用的C++库,主要针对网络游戏服务器提供全套解决方案,包括接入、网游逻辑、数据缓存和持久化组件。但同时Herm也适合可以用于即时通信、流媒体、文件下载、P2P(Socket组件实现的细节已经考虑到原创 2010-10-14 21:02:00 · 4651 阅读 · 9 评论 -
Herm的Allocator介绍
Allocator可以理解特定对象池。Herm目前有两种Allocator,LiteAllocator和LargeAllocator,前者支持小于120bytes的小对象;后者支持大对象,建议大于120byte以上的对象使用LargeAllocator,小对象当然也支持,但会浪费内存,每个对象将附加8bytes的内存空间。STL也可以直接用Herm的Allocator作为Allocator。原创 2011-09-08 16:58:57 · 1298 阅读 · 0 评论 -
Herm Timer Heap和Timer Wheel介绍
Herm实现了自己的两种类型的Timer,Heap和Wheel。Timer主要有三种操作,AddTimer, CheckTimout和RemoveTimer。Timer Heap性能是O(log2n) O(1) O(log2n)Timer Wheel全是O(1), 首选。 Timer Heap大致实现方法是基于最小堆。1. 检查堆的root节点,如果没超时,结束;有超时,加入p原创 2011-05-19 22:42:00 · 1922 阅读 · 0 评论 -
Herm统一分发框架的分发各种对象的流程
<br />分发框架管理一个树状的Handlers,Handler分为通用的(general)和专有的(specific)。通用的Handler是为所有的对象服务;专有的Handler是为某个对象服务(常见的是Role)。框架结构描述如下:<br /> cmd1----->handlers<br /> cmd2----->handlers<br /> cmdN----->handlers<br /> +原创 2011-04-24 21:32:00 · 1864 阅读 · 0 评论 -
协议消息与应用程序事件的统一分发框架
<br />Herm实现了一个Dispatcher来分发协议消息和程序中的自动事件。Dispatcher管理一个泛型的处理器Handler,不同的需求可以实现不通的Handler。Herm从通用性的角度,实现了支持IMsgHandler&IEvtHandler,分别支持协议消息和应用事件的分发处理器。<br /> struct IMsgHandler <br /> {<br /> virtual void Handle(const char* buf, i原创 2011-04-23 14:33:00 · 1741 阅读 · 0 评论 -
嵌套协议的消息分发处理
<br />现在herm framework,只支持1层协议的分发。对于嵌套的协议目前无法分发。<br />嵌套协议在实际开发中,很有可能遇到,有必要对这类需求提供支持。<br /> <br />嵌套协议像下面的样子:<br /> protocol1<br /> |--- type1---code1----| protocol 2|<br />protocol2<br /> |--- type2---code2----| ----data----|<br /> <br />目前,Session原创 2011-04-02 14:18:00 · 1298 阅读 · 0 评论 -
Herm Timer Heap和Timer Wheel介绍
<br />Herm实现了自己的两种类型的Timer,Heap和Wheel。Timer主要有三种操作,AddTimer, CheckTimout和RemoveTimer。<br />Timer Heap性能是O(log2n), O(1), O(1)<br />Timer Wheel全是O(1), 首选。<br /><br /><br />Timer Heap大致实现方法是基于最小堆。<br />1. 检查堆的root节点,如果没超时,结束;有超时,加入pending execute list,重新调整堆;原创 2011-05-19 22:42:00 · 1672 阅读 · 0 评论 -
【Herm程序员开发指导】第2章 Herm Framework和网络通信组件
3.1 概述3.2 网络通信组件结构3.3 Framework实现3.4 TCP Server3.5 TCP Server(续)3.6 TCP Client3.7 UDP Server&Client3.8 性能考虑原创 2010-11-01 22:52:00 · 3569 阅读 · 2 评论 -
游戏服务器数据缓存和持久化中间件设计总结
http://blog.youkuaiyun.com/herm_lib/article/details/8171196本文就介绍游戏服务器的数据缓存和持久化的设计策略。基本上各种类型的游戏服务器都适用,包括全区全服、分区分服的SNS类、ACG或者RPG。数据的缓存和持久化从技术角度来讲是比较容易实现?做过几个类似的功能模块后,渐渐地会有一种模块重用的想法,有一个公共的中间件可以容易支持我们游戏服务器各原创 2012-11-11 15:35:03 · 7020 阅读 · 5 评论