原文:skynet源码分析:服务

skynet刚开始是单进程多线程的,它是由一个一个的服务组成的。在skynet上做开发,实际上就是在写服务。服务与服务之间通过消息队列进行通信。 做为核心功能,Skynet 仅解决一个问题: 把一个符合规范的 C 模块,从动态库 so 文件 中启动起来,绑定一个永不重复 即使模块退出 的数字 id 做为其 handle 。模块被称为服务 Service ,服务间可以自由发送消息。每个模块可以向 S ...

2018-06-20 11:48 0 2462 推荐指数:

查看详情

skynet源码分析之snlua服务的启动流程(一)

skynet绝大部分服务类型是snlua,它是运行Lua脚本的服务,在用skynet框架上开发游戏服务器时,大部分逻辑都是snlua服务,90%以上只需写Lua代码即可,所以很有必要了解snlua服务相关内容。由于篇幅较多,打算分三篇文章介绍,都写完后再一起发布出去。本篇主要介绍snlua服务 ...

Sat Mar 03 00:24:00 CST 2018 0 1422
skynet源码分析:模块

之前已经说过skynet的是做什么的,现在开始从模块上研究skynet源码skynet各层表现 从上大概就清楚skynet的“内部” 而skynet源码目录结构如下: 3rd:第三方代码,有lua和jemalloc等。 lualib:使用lua写的库 ...

Wed Jun 20 22:12:00 CST 2018 0 2002
skynet源码分析之snax

snax是一个方便实现skynet服务的简单框架,对服务的接口(比如skynet.call, skynet.send等)做了进一步的封装,编写snax服务比较容易,详情参考官方wiki https://github.com/cloudwu/skynet/wiki/Snax 下面是一个简单 ...

Sat Apr 28 05:40:00 CST 2018 0 853
skynet源码分析3:消息调度

从四个方面来说:   1、消息发送   2、工作线程控制   3、信箱调度   4、消息分发 与调度相关的代码实现在/skynet-src/skynet_mq.c,/skynet-src/skynet_start.c,/skynet-src/skynet_server.c三个文件中,整体 ...

Wed Sep 14 01:52:00 CST 2016 0 1831
skynet源码阅读<3>--网关分析

继上一篇介绍了skynet的网络部分之后,这一篇以网关gate.lua为例,简单分析下其串接和处理流程。 在官方给出的范例中,是以examples/main.lua作为启动脚本的,在此过程中会创建watchdog服务: 首先加载watchdog.lua脚本 ...

Wed Mar 15 01:43:00 CST 2017 0 3584
skynet源码分析之定时器skynet_timer.c

skynet自带定时器功能skynet-src/skynet_timer.c,在skynet启动时会创建一个线程专门跑定时器。每帧(0.0025秒/帧)调用skynet_updatetime() 1. 设计思想 skynet的设计思想参考Linux内核动态定时器的机制,参考 ...

Wed Mar 07 04:02:00 CST 2018 0 1084
skynet源码分析之sproto使用方法

上一篇文章介绍sproto的构建流程(http://www.cnblogs.com/RainRill/p/8986572.html),这一篇文章介绍sproto如何使用,参考https://githu ...

Wed May 09 01:12:00 CST 2018 0 1967
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM