KBEngine服务端实体调用客户端实体方式是:self.client.xxxMethod()xxxMethod需要定义为实体客户端方法,这个很好理解,没有什么问题。但是在服务端实体调用服务端实体的时候就需要特别注意两个实体是否有可能在不同的进程。如果两个实体是在同一个进程的,可以直接调用方法,不需要定义为实体协议方法,而且可以获取返回值。但如果两个实体是在不同的进程,需要将方法定义为实体协议方法
分类:
其他好文 时间:
2020-03-27 23:14:19
阅读次数:
142
https://blog.csdn.net/qq_32650071/article/details/79907308 https://blog.csdn.net/qq_32650071/article/details/79917639 https://blog.csdn.net/qq_3265007 ...
分类:
其他好文 时间:
2019-06-18 18:36:28
阅读次数:
99
Q:CBEngine使用什么网络协议?A:集群组建使用UDP协议,其他情况下服务器模块之间、服务器和客户端之间用的都是TCP协议。 Q:CBEngine使用什么网络模型?A:由于正式运营环境在Linux下,所以网络模型选择了epoll, 生产环境在Windows比较方便所以CBEngine也支持了W ...
分类:
其他好文 时间:
2018-09-20 00:56:43
阅读次数:
458
Space空间是一个抽象概念,它只是存在于cellapp的内存中。由于空间是一个抽象的概念,所以具体是什么,是由用户来定义,它可以是一个场景、副本、房间等等等。 Space与Entity、Cell的关系 1:每个Space至少有一个Entity。 2:每个Space含有一个Cell ...
分类:
其他好文 时间:
2018-09-03 02:27:28
阅读次数:
441
在之前的章节中一直提到EntityCall,那什么是EntityCall?我们可以简单的理解为:封装远程交互、通讯等方法的一种对象,是脚本层与实体远程交互的常规手段。 EntityCall的底层实现原理: EntityCall对象在C++底层实现非常简单,它只包含了实体的ID、目的地的地址、实体类型 ...
分类:
其他好文 时间:
2018-09-03 02:15:17
阅读次数:
183
相对于skynet,KBEngine提供了完整的组件方案。 Loginapp 登录验证、注册、Client的接入口。 Baseapp 常见用法 Baseapp上不涉及与空间或位置相关的逻辑,所以脚本层通常会选择在baseapp上实现如:社交系统、广播聊天、排行、游戏大厅等等逻辑系统。 Baseapp ...
分类:
其他好文 时间:
2018-08-04 00:06:41
阅读次数:
207
KBEngine是一款开源的MMOG游戏服务端引擎,使用C++编写,用Python脚本即可简单高效的完成任何游戏逻辑(支持热更新)。 KBEngine底层架构被设计为多进程分布式动态负载均衡方案,理论上只需要不断扩展硬件就能够不断增加承载上限,单台机器的承载上限取决于游戏逻辑本身的复杂度。 ...
分类:
其他好文 时间:
2018-07-07 17:40:49
阅读次数:
189
编程中常常看到将许多东西放在资源池中,在使用的时候可以提高效率。看起来和实现一个缓存类型,虽然原理简单,但是徒手写有总觉得缺点什么,所以在此总结一下 1.对象池 2.进程池和线程池 3.内存池 4.数据库连接池 etc ...
分类:
其他好文 时间:
2018-03-20 12:51:32
阅读次数:
174
其实这篇的内容官方文档都有, 但是既然打算记录一下学习笔记, 也就先从安装开始了. 一 下载源代码 进入github下载最新release的源码压缩包. windows选择zip, 下载完成之后右键解压缩. 进入kbengine目录, 里面有三个文件夹: assets\docs\kbe assets ...
分类:
其他好文 时间:
2018-02-27 23:20:48
阅读次数:
166
git地址:https://github.com/kbengine/kbengine_unity3d_demo Demo中文地址:https://github.com/kbengine/kbengine_unity3d_demo/blob/master/README_CN.md QQ交流群:4613 ...
分类:
编程语言 时间:
2017-11-29 16:27:30
阅读次数:
224