skynet coroutine 运行笔记

阅读云大的博客以及网上关于 skynet 的文章,总是会谈服务与消息。不怎么看得懂代码,光读这些文字真的很空洞,不明白说啥。网络的力量是伟大的,相信总能找到一些解决自己疑惑的文章。然后找到了这篇讲解 skynet 消息队列的文章(最新的 skynet 消息队列代码已经有更新,变得更简洁易读)。了解...

2018-03-29 10:01:30

阅读数:79

评论数:0

skynet.call流程

原文:探索skynet(四):服务之间的通信原文内容在《探索skynet(三):消息队列》中已经提到,skynet中每个服务都有自己的地址和消息队列。有了这个基础,理解服务之间的消息通信,就比较简单了。skynet.call以最常用到的skynet.call为例,它通过调用skynet.core....

2018-03-27 11:21:43

阅读数:151

评论数:0

skynet lua服务callback执行过程

lua服务都是通过snlua启动的,snlua服务启动时,最终会通过skynet.start把回调函数设为skynet.dispatch_message。当有消息到达时,先调用到skynet.dispatch_message, 这里面再调到raw_dispatch_messagelocal fun...

2018-03-27 11:15:18

阅读数:125

评论数:0

skynet luaAPI

背景skynet一个关键的优势是使用lua语言撰写脚本,而使用脚本语言写逻辑的一个大好处就是可以使用顺序逻辑描述业务。表面的平整之下实际是C语言对lua虚拟机的调度器在起作用。阻塞API从lua中yield回C代码中,之后有了事件再次resume,看起来实现很简单,但是更加复杂的是错误的处理,AP...

2018-03-22 21:23:54

阅读数:73

评论数:0

skynet资料

开源使用skynet的代码:一个简单但是完整的项目-MUD风格-(loginserver+gate+watchdog+agent+sproto+redis+mysql+第三方网关)还没看,貌似挺全面的。一个简单的mmorpg(作者说完成度很低,登陆 创角 地图内移动 攻击 aoi,还没确认在哪里管...

2018-03-21 11:25:57

阅读数:76

评论数:0

skynet中的gate,watchdog,agent

gate是模板lualib/snax/gateserver.lua使用范例,系统自带的,位于service/gate.lua,是一个实现完整的网关服务器。watchdog和agent都是在应用层写的脚本,可以参考源码中example目录下的watchdog.lua和agent.lua在启动脚本ma...

2018-03-21 11:24:12

阅读数:143

评论数:0

Skynet_examples

examples相关代码分析:1、关于examples/config里面有一行:[plain] view plain copystart = "main"  -- main script  意思是通过start="main"开...

2018-03-19 20:41:44

阅读数:86

评论数:0

skynet 2

        一个游戏服务器系统的数据流向有很多种。在skynet中,我主要看到了三种,一种是从客户端流到服务器,而后服务器处理完毕之后,发送回客户端。第二种是一个harbor流向另外一个harbor,这应该就是服务进程之间通过套接字的通信了。第三种就是服务进程保存数据到数据库中,而后返回(这部...

2018-03-19 20:39:40

阅读数:70

评论数:0

skynet 1

       本人所看的skynet框架,是云风所写的开源分布式服务器系统。       说说广泛流传的分布式系统,我觉得最简单的理解就是,一个服务器系统可以开很多进程来完成任务,并且这些进程可以不受地域的限制,同时跑在不同的主机上面(当然也可以跑在同一台主机上),以服务器集群的方式应答各个服务请...

2018-03-19 20:35:25

阅读数:74

评论数:0

客户端界面加载优化

最近在处理打开客户端界面加载卡顿的问题,两年前做cocos2dx项目的时候也注意到了这个问题,不过因为当时的界面比较简单,也没有太多精力去处理,不了了之。现象是这样的,几百行甚至几千行的客户端代码里面,大部分时间都只卡在widgetFromJsonFile这个函数中,即对UI界面的UI元素树进行加...

2018-03-14 11:26:24

阅读数:88

评论数:0

自己动手开发网络服务器(三)

在第二部分中,你开发了一个能够处理HTTPGET请求的简易WSGI服务器。在上一篇的最后,我问了你一个问题:“怎样让服务器一次处理多个请求?”读完本文,你就能够完美地回答这个问题。接下来,请你做好准备,因为本文的内容非常多,节奏也很快。文中的所有代码都可以在Github仓库下载。首先,我们简单回忆...

2018-03-11 21:34:22

阅读数:128

评论数:0

自己动手开发网络服务器(二)

在《自己动手开发网络服务器(一)》中,我给大家留了一个问题:如何在不对服务器代码作任何修改的情况下,通过该服务器运行Djando应用、Flask应用和Pyramid应用,同时满足这些不同网络框架的要求?读完这篇文章,你就可以回答这个问题了。以前,你选择的Python网络框架将会限制所能够使用的网络...

2018-03-11 21:33:19

阅读数:145

评论数:0

自己动手开发网络服务器(一)

原文链接:http://ruslanspivak.com/lsbaws-part1/译文链接:http://codingpy.com/article/build-a-simple-web-server-part-one/有一天,一位女士散步时经过一个工地,看见有三个工人在干活。她问第一个人,“你在...

2018-03-11 21:32:32

阅读数:229

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭