skynet初探


用skynet写服务器一年有余,在业务逻辑层面已经基本能掌握一个游戏服务器的系统设计。但是我认为,写游戏服务器是一个要求比较高的工作,因为到了线上,任何小小的错误都可能造成重大的问题。这就要求对服务器的底层设计、数据库等有比较深刻的理解。所以最近开始尝试去阅读skynet的源码,希望能借此让自己实现 客户端+服务器+客户端引擎+服务器引擎全栈。

skynet的源码代码量不算特别大,C代码部分是核心实现,大概不到1W行代码。读一遍代码不是很困难,但是要理解其中的设计,需要反复的读代码、读文档。skynet不是细节都会有文档说明,代码本身的注释也较少。如果要更深入的理解skynet,需要动手做实验分析。目前比较感兴趣的skynet模块,也是skynet的核心模块包括:网络模块、服务调度模块、数据库模块。感兴趣的原因主要有两点,一是这些是skynet的核心模块,另外一点这些模块也是服务器的核心底层。由于之前没有接触过太多网络相关的编程,在对skynet使用的一些底层函数库的理解上有一定困难。虽然现在能大概理解skynet的整体设计以及代码流程,但是要进一步理解一些细节的设计,需要对代码段进行仔细的琢磨。

后面准备从两个方向加强对skynet底层的理解,首先继续阅读代码,这个做起来比较方便,目前阶段还能继续提高对源码的理解;另外一方面,开始通过给skynet打log、或者拆分代码出来自己动手做实验来理解更细节的设计。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,678评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,014评论 19 139
  • 由于端午节当天要去学校,提前一天回外婆家吃饭。 外婆家比较近,逢年过节爸爸家那边没有饭局的话都会回来吃...
    L_0925阅读 1,270评论 0 0
  • 镜由心生 字数 279 · 阅读 5 · 日记本 作者 【每日计划(早宣晚结)】 聚才LP3所向披靡!学员:欧阳...
    镜由心生阅读 163评论 0 0
  • 老师,我感觉明暗关系很难把握,还有叠色也是
    慢慢66阅读 245评论 1 0