![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
skynet
文章平均质量分 74
啦啦拉德玛西亚
这个作者很懒,什么都没留下…
展开
-
skynet snlua分析
snlua 是所有lua服务的载体,负责加载lua脚本以及绑定lua消息回调。所有的lua服务其实都可以统称为snlua服务。由之前的module文章可知,skynet启动一个C 服务,会自动调用C服务的create 和init函数。下面看看snlua的create和init分别做了什么。snlua_create:创建lua虚拟机,创建snlua实例。//service_snlua....原创 2019-12-20 16:58:41 · 652 阅读 · 0 评论 -
skynet 学习资料整理
https://blog.csdn.net/zxm342698145/article/details/79640535 整篇覆盖很全https://www.cnblogs.com/watercoldyi/p/5804743.html 模块https://blog.csdn.net/linshuhe1/article/details/70495328 S...原创 2019-12-20 11:29:04 · 188 阅读 · 0 评论 -
skynet 线程
启动创建一个socket、timer、monitor线程和n个工作线程。工作线程的个数由启动时配置的参数决定。static voidstart(int thread) { pthread_t pid[thread+3]; struct monitor *m = skynet_malloc(sizeof(*m)); memset(m, 0, sizeof(*m))...原创 2019-12-20 11:21:57 · 522 阅读 · 0 评论 -
skynet push消息到次级消息队列
压入消息:intskynet_context_push(uint32_t handle, struct skynet_message *message) { //获取服务cx struct skynet_context * ctx = skynet_handle_grab(handle); if (ctx == NULL) { return -1;...原创 2019-12-20 10:18:26 · 165 阅读 · 0 评论 -
skynet skynet_context、message_queue、handle_storage、global_queue
创建一个module实例,只是创建了一个服务的私有数据,以及绑定了callback,接受消息后的逻辑处理函数。那么这个module实例是怎么被底层框架所驱动呢???先看个数据结构skynet_context:// skynet_server.cstruct skynet_context { void * instance; // 由指定module...原创 2019-12-19 18:11:51 · 299 阅读 · 0 评论 -
skynet module分析
module初始化skynet中每个C服务都是一个module。源码位于skynet_module.c在启动时设置module的默认查找路径为"./cservice/?.so",创建modules实例。skynet_main.cintmain(int argc, char *argv[]) { .... config.module_path = optstring("...原创 2019-12-19 14:56:58 · 217 阅读 · 0 评论 -
skynet protobuf的使用
protobuf 的lua版本的安装编译和使用参考文章:https://blog.csdn.net/qq769651718/article/details/79435298protobuf的协议定义。---c2s.protosyntax = "proto2";package c2s; //定义包名message test { //定义消息结构required stri...原创 2019-12-18 17:49:13 · 1055 阅读 · 0 评论 -
skynet 网关
网关服务相关代码 watch_dog gate agent gateserver启动:1.启动watch_dog服务,watch_dog 启动 gate服务。2.执行watch_dog start 服务,向其传入conf。watch_dog 通知 gate 执行open 命令传入conf。gate 开始lisent。接受客户端连接:1.gate 收到新的连接,通...原创 2019-12-18 14:39:38 · 391 阅读 · 0 评论