skynet
玖五二七
对新兴的技术感兴趣对开源服务器和客户端感兴趣cocos2d-xpomelofirefly都感兴趣
现在方向是Golang/微服务/Devops/K8s
展开
-
skynet学习笔记一
这里有关于什么是skynet skynet定义为轻量级的游戏服务器框架。 通过最近几天来对skynet的研究,发现它不像pomelo那样拥有完善的体系,许多工作还是需要自己搭建。也就是说,它是框架的框架,可以用它来组成构建自己想要做的游戏,比如mmo,或是个聊天室,也可以是个httpServer。skynet用云风的话来讲,大家可以把它看到一个操作系统,自己写的代码就是系统中的一个个独立进程。这原创 2016-04-13 17:38:18 · 2610 阅读 · 0 评论 -
skynet学习笔记二
skynet已经做好了服务间消息的推送与接收,使用都只需要按照约定的协议进行handle处理就可以了。RPC调用 skynet.call(address, typename,…) 此接口会在内部生成唯一一个session,并向address发起请求。(注意:这里的address可以是一个name),并且阻塞的等待对session的回应。当消息回应后通过之前注册的unapck函数解包。可以将它理解原创 2016-04-14 11:31:17 · 4299 阅读 · 0 评论 -
慎用skynet.fork做循环
skynet.fork做循环时,若在其中一次发生了脚本错误。那么将造成此循环僵死,不再进行下去。 建议使用skynet.timeout来进行无限循环以及计时器的实现。 如果一定要用skynet.fork,请使用pcall原创 2017-07-10 10:47:48 · 2439 阅读 · 0 评论 -
skynet的并发处理
skynet是一个异步响应的单进程多协程系统。 在skynet的服务中,如果调用了一个阻塞API(skynet.call skynet.sleep),这个服务将会被挂起。在阻塞返回之前,这个服务仍然 可以响应其他消息。这个就会造成时序问题了。 以下为例local CMD = {}function CMD.func1() print('------func1 1') print(原创 2017-04-27 16:37:45 · 3949 阅读 · 0 评论