博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
skynet中的gate,watchdog,agent之间的关系
阅读量:6257 次
发布时间:2019-06-22

本文共 651 字,大约阅读时间需要 2 分钟。

gate是模板lualib/snax/gateserver.lua使用范例,系统自带的,位于service/gate.lua,是一个实现完整的网关服务器。

watchdog和agent都是在应用层写的脚本,可以参考源码中example目录下的watchdog.lua和agent.lua

在启动脚本main.lua(一般情况下)启动了watchdog服务(而watchdog的启动函数内又启动了gate服务),并向watchdog发送了start命令,而watchdog对start命令的处理就是向gate发送open命令,其实是让gate服务开启监听端口,此时gate记录了watchdog的的地址。

当一个客户端连接过来的时候,首先是经过gate处理(handler.connect),先建立fd -> connection的映射,然后转发给watchdog(SOCKET.open)处理,在其中新建一个agent服务,然后建立fd->agent服务地址的映射,然后向agent服务发送start命令,agent在start命令的处理中又向gate发送forward命令,gate在forward的处理中是通过建立agent -> connection的映射来建立转发,此时的 connection包含agent服务地址,然后调用gateserver.openclient放行消息。以后在客户端发来消息时,如果已经建立的转发,则直接转发到对应的agent服务上,否则,则发送给watchdog处理。

转载地址:http://fzisa.baihongyu.com/

你可能感兴趣的文章
Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明2
查看>>
An easy to use android color picker library
查看>>
Oracle SID爆破工具SidGuess
查看>>
批处理常用命令总结2
查看>>
解读ASP.NET 5 & MVC6系列(9):日志框架
查看>>
MyEclipse生成WAR包并在Tomcat下部署发布(转发)
查看>>
Android -- 自定义View小Demo,绘制钟表时间(一)
查看>>
信息检索Reading List
查看>>
JavaWeb_JavaEE_命名规则
查看>>
申小雨命案审理延期至3月5日 警方将翻译嫌犯口供
查看>>
自动精简配置&重复数据删除核心技术点及其经济效应探究
查看>>
cncert网络安全周报35期 境内被植入后门的政府网站112个 环比上涨24.4%
查看>>
物联网到底是不是泡沫,且看英特尔交出的答案
查看>>
IPv6太落后了:中国加速服务器援建
查看>>
安防大数据应用国家工程实验室在乌鲁木齐成立
查看>>
物理引擎中velocity的单位是个什么鬼?
查看>>
[译] 全新 Android 注入器 : Dagger 2 (二)
查看>>
为什么要评审代码?
查看>>
小程序开发前的准备工作之【深入封装Component】
查看>>
AFN3.0源码解析
查看>>