Kaitiren
热情开放的技术专家,从事游戏开发方面的各项工作!
DXDStudio(Design and Xperience Development Studio)
展开
-
Leaf-Server官方教程 && 游戏引擎源码实践 (21年6月每周会更新RoadMap文章)
Leaf 是一个由 Go 语言(golang)编写的开发效率和执行效率并重的开源游戏服务器框架。Leaf 适用于各类游戏服务器的开发,包括 Unity3D, UE4/UE5, Cocos2dx, Web (HTML5)游戏服务器。通过本章的内容学习,让同学们尽快掌握与使用。适合人群: 初学者, 游戏服务器开发, 对服务器有兴趣的人群希望还没学习Go 服务器开发(从零开始学习 基础篇)的同学进行阅读实践后在跟进Leaf Server的框架开发。目录...原创 2021-06-03 20:36:26 · 859 阅读 · 5 评论 -
腾讯发布了Go语言代码安全指南
在我们开发的过程中,会涉及到很多数据的处理以及相应的代码逻辑,如果不小心,可能会导致BUG,甚至被恶意利用的漏洞。比如内存溢出、下标越界、空指针异常等等。对于一个经验丰富的开发人员,会在自己编写代码的时候,会潜意识的处理这些问题,这就是资深开发的宝贵经验,所以他们的代码上线后,很少出现问题,对于更NB的开发,他们甚至有自己的一套代码工具箱,都是他们多年编码经验的总结,拿来即用。相反对于一个初级开发人员,可能就不会处理了,甚至可能想不到,所以资深开发的价值就能很好的体现出来。但是,一个团队,总不能要求原创 2021-09-06 19:20:48 · 598 阅读 · 0 评论 -
Go语言 vs Java语言
天生骄傲的Go语言以高并发闻名于世,牛皮不能光靠吹,今天我们就来做一个对比试验,体会一下Go在并发方面的巨大优势!靶子就瞄准Java,谁让它是后端开发语言的老大哥呢。基本任务:初始化一个100*100的矩阵,矩阵每个元素是从[0,1)随机取的双精度浮点数,计算矩阵跟自身相乘,需要100万次乘法运算。机器配置:Linux云主机,8核16G内存。分别尝试开10、100、1000、10000、100000、1000000个线程(协程)执行上述的基本任务。试验结果(运行耗时/ms):并发度原创 2021-08-28 15:31:26 · 775 阅读 · 0 评论 -
Leaf-Server官方教程: Leaf Go / Leaf timer / Leaf recordfile (五)
Leaf Go善用 goroutine 能够充分利用多核资源,Leaf 提供的 Go 机制解决了原生 goroutine 存在的一些问题:能够恢复 goroutine 运行过程中的错误 游戏服务器会等待所有 goroutine 执行结束后才关闭 非常方便的获取 goroutine 执行的结果数据 在一些特殊场合保证 goroutine 按创建顺序执行我们来看一个例子(可以在 LeafServer 的模块的 OnInit 方法中测试):...原创 2021-06-16 21:56:49 · 500 阅读 · 0 评论 -
Leaf-Server官方教程: Leaf ChanRPC (四)
Leaf ChanRPC由于 Leaf 中,每个模块跑在独立的 goroutine 上,为了模块间方便的相互调用就有了基于 channel 的 RPC 机制。一个 ChanRPC 需要在游戏服务器初始化的时候进行注册(注册过程不是 goroutine 安全的),例如 LeafServer 中 game 模块注册了 NewAgent 和 CloseAgent 两个 ChanRPC:package internal import ( "github.com/name5566/leaf..原创 2021-06-08 20:20:10 · 509 阅读 · 0 评论 -
Leaf-Server官方教程: Hello Leaf (三)
现在,在 LeafServer 的基础上,我们来看看游戏服务器如何接收和处理网络消息。首先定义一个 JSON 格式的消息(protobuf 类似)。打开 LeafServer msg/msg.go 文件可以看到如下代码:package msg import ( "github.com/name5566/leaf/network" ) var Processor network.Processor func init() { }Processor 为消息...原创 2021-06-07 15:49:30 · 566 阅读 · 1 评论 -
Leaf-Server官方教程:Leaf安装搭建与模块运行 (二)
Leaf 框架配置(windos os / mac os)Go IDE: (windos / mac)Goland 下载地址与安装:windows os:https://download.csdn.net/download/Kaitiren/19427755mac os:https://download.csdn.net/download/Kaitiren/19427964GO SDK下载连接:建议下载最较新的稳定版本开发:https:...原创 2021-06-07 15:19:06 · 2305 阅读 · 0 评论 -
Leaf-Server官方教程: Leaf 服务器的设计 (一)
Leaf 服务器的设计Leaf专注于游戏服务器,因此与一些Web服务器开发的设计和考虑有所不同。在一些游戏服务器中,采用的是分布式架构,即服务器整体被划分为不同的模块,各个模块承担不同的功能,而模块之间通过TCP进行交互。这样的架构能够保证服务器能够在多台机器上部署,单点故障不至于让服务整体崩溃。但是这种服务器有其自身的开发难度,而且有时候做好模块划分并不容易。Leaf是一体式的框架,连最外围的接入服务器也被整合在一起。虽然Leaf中间也划分了不同模块,但是他们是通过InnerRpc进行通讯的。介于现在原创 2021-06-03 20:39:07 · 1340 阅读 · 2 评论