skynet中的watchdog gate gateserver agent之间关系的理解

为了理解skynet中的watchdog gate gateserver 和agent的关系,我看了skynet的源码,也找了很多博客,终于有了大致头绪。

一、文件位置

其中watchdog.lua agent.lua在文件夹skynet/examples下
gate.lua在skynet/service文件夹下,gateserver.lua在skynet/lualib/snax文件夹下。

二、调用时序图

在这里插入图片描述
该图是用star UML画的,基本是按照这篇博客里的图画的,自己也对照着源码去求证,确实如此。
查看这篇文章:skynet watchdog和gate

三、简化图

skynet踩坑记录(一)客户端连接之watchdog gate agent复杂错乱关系
在这里插入图片描述

四、自己的理解

上面的图是将gate和gateserver合并为"gate",其实这个也是可以理解的,因为gateserver.lua和gate.lua是包含与被包含关系。
其实我刚开始不好理解的地方是agent中的

function CMD.start(conf)
	local fd = conf.client
	local gate = conf.gate
	WATCHDOG = conf.watchdog
	--中间省略
	client_fd = fd
	skynet.<
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值