skynet
文章平均质量分 75
tobybo
不积跬步,无以至千里
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
skynet 中 mongo 模块运作的底层原理解析
这篇文章总结 skynet 中 mongo 的接入流程,代码解析,读完它相信你对 skynet 中的 mongo 调用会更得心应手。在上一节中我们没有详细的拆解 bson_encode 和 bson_encode_order 两个函数,他们的作用已经介绍过,读者有兴趣可以自己细看一下代码,要读懂其中的序列化过程,需要参考文末的 BSON 官方文档。原创 2023-12-09 21:32:39 · 1432 阅读 · 0 评论 -
skynet 网络模块解析
本文简要拆解和分析 skynet 网络模块的实现,可以作为一般游戏服务器的网关实现的参考。原创 2023-08-11 23:53:01 · 876 阅读 · 0 评论 -
skynet学习笔记之http服务搭建3
文章目录前言架构介绍问题解决办法关键代码前言上周用 master/slave 机制搭建了个带有网关的 http 服务器,经过几天折腾,本文介绍用 skynet 自带的 c 服务 gate 来搭建 http 服务器的网关,并且做到在 c 层正向和反向代理 http 数据包。我对该 gate 服务作为基础的 c 服务放在那却没有被 example 下的例子用到感到很奇怪,如果有人知道哪个服务用到了可以告诉我一下吗,对它的详细介绍放到下一篇文章。为了实现 c 层代理 http 协议,引入了 nodejs 的原创 2022-04-14 11:18:22 · 3486 阅读 · 0 评论 -
skynet学习笔记之http服务搭建2
文章目录前言思路目录结构代码结语参考文章前言前不久尝试了 http 服务的搭建,现在为它搭建一个网关。看了 skynet wiki 中的几篇涉及 master/slave 的文章,以及 lualib/cmaster.lua 和 lualib/cslave.lua 的代码后,实现了第一个方案,gate 和 game 处于一个集群中,gate 和 game 间通过 slave/harbor 服务来间接通信。思路大致架构图:设计方案:利用 skynet 的 master/slave 机制,mast原创 2022-04-09 17:12:38 · 2482 阅读 · 0 评论 -
skynet学习笔记之http服务搭建
文章目录前言环境准备http 服务搭建流程skynet 日志服务介绍给日志输出添加颜色结语前言今天尝试了下 skynet 提供的 http 服务,服务代码全部包含在 examples/simpleweb.lua 文件中,服务介绍见 skynet_wiki-http。skynet 通过 daemon = “./skynet.pid” 设置进程 id 的保存文件名,开启后台模式,我用的前台模式,所以注释掉这个配置项即可。环境准备centos 7 服务器,我是笔记本里装了个 centos 7 镜像的虚原创 2022-04-03 16:40:24 · 1737 阅读 · 0 评论 -
skynet学习笔记之makefile
前言本文解析skynet的makefile执行流程,格式为 “文件名,代码;讲解” 或者 “文件名,讲解,下一行为代码”流程1:只输入 make 的情况 1. platform.mk,PLAT ?= none;此时 PLAT 没有设置,所以 none 赋值给 PLAT 2. platform.mk;MAKE 是 make 程序设置的环境变量,值为 make,此时 PLAT = none,构建 default 这个目标要执行的命令是 make none,由于 default 没有依赖对象,所以直接执行原创 2022-03-27 14:39:21 · 1930 阅读 · 0 评论 -
skynet学习笔记之服务管理 skynet_handle
前言本文总结对于 skynet 服务管理器,skynet_handle.c 源文件的学习。总览设计思路为每一个服务绑定一个永不重复(即使模块退出)的数字 id 作为其 handle服务器管理器完成的核心工作存放所有服务对象,skynet 用服务对象的指针数组作为容器,限定了单进程内最大容纳服务数为 2^24 个,之所以是不是 2^32 次方,是因为高 8 位的 2 个字节用于存放用于远程服务的节点 id。初始容器大小为 4,然后当服务数超过容器当前大小时,按当前大小的 2 倍来扩容。每原创 2022-03-22 14:37:30 · 635 阅读 · 0 评论 -
lua协程优秀实践:skynet
前言本文主要讲解 lua 协程的基本使用,和它在 skynet 这个框架中的实际应用。skynet简介可能有的读者学 lua 不是做游戏服务器的,没有了解过 skynet,简单介绍下,skynet 是 云风 大神开发的开源服务器引擎,应用于当下众多的游戏公司的服务器框架。lua协程是什么从多线程(multithreading)的角度看,协程(coroutine)与线程(thread)类似:协程是一系列的可执行语句,拥有自己的栈、局部变量和指令指针,同时协程又与其他协程共享了全局变量和其他几乎一切原创 2022-03-13 22:10:32 · 1230 阅读 · 0 评论 -
skynet学习笔记之配置加载 load_config
skynet加载配置代码解析原创 2022-03-10 14:29:11 · 662 阅读 · 0 评论 -
skynet学习笔记之消息队列
skynet学习,消息队列,自旋锁原创 2022-03-08 18:22:48 · 588 阅读 · 0 评论 -
skynet学习笔记之require xxx.core
发现不少公司都在用skynet框架,趁着周末就fork了风哥的仓库来学习学习,之前就stared过了,但是没实际使用过。单单这一句代码就收获良多:--lualib/sproto.lualocal core = require "sproto.core"一个小插曲:clone完仓库后, 执行 make linux 卡在了Makefile执行 clone jemalloc 仓库的地方,如下图所示:试了几次都卡住,我也不想去研究 git submodule update --init 这命原创 2020-06-14 00:48:01 · 1622 阅读 · 0 评论 -
skynet学习笔记之源代码文件总览
skynet源代码文件分类,框架层次结构分析原创 2022-03-02 10:23:59 · 286 阅读 · 0 评论
分享