skynet
九嶷山
认真做事 用心做人
展开
-
skynet资料
开源使用skynet的代码:一个简单但是完整的项目-MUD风格-(loginserver+gate+watchdog+agent+sproto+redis+mysql+第三方网关)还没看,貌似挺全面的。一个简单的mmorpg(作者说完成度很低,登陆 创角 地图内移动 攻击 aoi,还没确认在哪里管理的aoi, 按skynet的设计初衷,估计会在lua层管理)房卡类麻将服务器-含客户端(看起来挺诱人...转载 2018-03-21 11:25:57 · 382 阅读 · 0 评论 -
skynet中的gate,watchdog,agent
gate是模板lualib/snax/gateserver.lua使用范例,系统自带的,位于service/gate.lua,是一个实现完整的网关服务器。watchdog和agent都是在应用层写的脚本,可以参考源码中example目录下的watchdog.lua和agent.lua在启动脚本main.lua(一般情况下)启动了watchdog服务(而watchdog的启动函数内又启动了gate服...转载 2018-03-21 11:24:12 · 1471 阅读 · 0 评论 -
skynet 1
本人所看的skynet框架,是云风所写的开源分布式服务器系统。 说说广泛流传的分布式系统,我觉得最简单的理解就是,一个服务器系统可以开很多进程来完成任务,并且这些进程可以不受地域的限制,同时跑在不同的主机上面(当然也可以跑在同一台主机上),以服务器集群的方式应答各个服务请求,各进程之间通过socket的方式通信。 我们先从整体结构上来俯视这个框架。 ...转载 2018-03-19 20:35:25 · 384 阅读 · 0 评论 -
skynet 2
一个游戏服务器系统的数据流向有很多种。在skynet中,我主要看到了三种,一种是从客户端流到服务器,而后服务器处理完毕之后,发送回客户端。第二种是一个harbor流向另外一个harbor,这应该就是服务进程之间通过套接字的通信了。第三种就是服务进程保存数据到数据库中,而后返回(这部分我还没看完)。 本章主要讲解第一种数据流向,客户端到服务端中某个节点。服务端如何返回数...转载 2018-03-19 20:39:40 · 324 阅读 · 0 评论 -
Skynet_examples
examples相关代码分析:1、关于examples/config里面有一行:[plain] view plain copystart = "main" -- main script 意思是通过start="main"开启第一个Skynet的服务main.lua。这个文件main.lua也在examples文件夹中:[plain] view plain copylocal skynet = ...转载 2018-03-19 20:41:44 · 562 阅读 · 0 评论 -
skynet luaAPI
背景skynet一个关键的优势是使用lua语言撰写脚本,而使用脚本语言写逻辑的一个大好处就是可以使用顺序逻辑描述业务。表面的平整之下实际是C语言对lua虚拟机的调度器在起作用。阻塞API从lua中yield回C代码中,之后有了事件再次resume,看起来实现很简单,但是更加复杂的是错误的处理,API调用不知道会经历多少艰辛,出错、超时如何处理?这个是关键所在。本篇是 【专题4】搞明白skynet的...转载 2018-03-22 21:23:54 · 406 阅读 · 0 评论 -
skynet lua服务callback执行过程
lua服务都是通过snlua启动的,snlua服务启动时,最终会通过skynet.start把回调函数设为skynet.dispatch_message。当有消息到达时,先调用到skynet.dispatch_message, 这里面再调到raw_dispatch_messagelocal function raw_dispatch_message(prototype, msg, sz, sess...转载 2018-03-27 11:15:18 · 735 阅读 · 0 评论 -
skynet.call流程
原文:探索skynet(四):服务之间的通信原文内容在《探索skynet(三):消息队列》中已经提到,skynet中每个服务都有自己的地址和消息队列。有了这个基础,理解服务之间的消息通信,就比较简单了。skynet.call以最常用到的skynet.call为例,它通过调用skynet.core.send(也即,lua-skynet.c中的lsend函数)–> skynet_send函数 –...转载 2018-03-27 11:21:43 · 3605 阅读 · 0 评论 -
skynet coroutine 运行笔记
阅读云大的博客以及网上关于 skynet 的文章,总是会谈服务与消息。不怎么看得懂代码,光读这些文字真的很空洞,不明白说啥。网络的力量是伟大的,相信总能找到一些解决自己疑惑的文章。然后找到了这篇讲解 skynet 消息队列的文章(最新的 skynet 消息队列代码已经有更新,变得更简洁易读)。了解了 skynet 消息是如何派发的,就想知道消息被派发出去到一个服务后,如何调用服务的 callbac...转载 2018-03-29 10:01:30 · 505 阅读 · 0 评论