代码改变世界

随笔分类 - skynet

随便读读skynet开源项目RILLSERVER

2019-05-08 17:35 by 撞破南墙, 1391 阅读, 收藏, 编辑
摘要: 读RILL SERVER 因为源码是前段时间下载的,最近才拿出来分析,今天发现已经更新了,比如删除了module中订阅那些代码。但是并不影响总体的思路。 他加入了behavior3 、 pl 、FSM,DDZ等等有空在分析。 有几个维度可以分析。 1. 从启动到、消息运转的流程 2. 从skynet 阅读全文

白话skynet第三篇:通过队列解决多线程竞争资源

2019-04-12 23:16 by 撞破南墙, 1554 阅读, 收藏, 编辑
摘要: 今天遇到一个问题,在大厅服务中,如果一个请求使用到了一个公共的变量,如何保证其一致性? 虽然请求是挨个运行的,但是skynet.call会阻塞。 “同一个 skynet 服务中的一条消息处理中,如果调用了一个阻塞 API ,那么它会被挂起。挂起过程中,这个服务可以响应其它消息。这很可能造成时序问题, 阅读全文

白话skynet第二篇:skynet的通信调试pack和sprotol

2019-04-12 01:04 by 撞破南墙, 1677 阅读, 收藏, 编辑
摘要: 今天来说说Skynet客户端和服务端网络通信的基础部分。 Skynet当前版本。lua是skynet自带的5.3版本。 根据示例,我们可以知道。通信的步骤如下。 1. 客户端按大小端打包成二进制。 2. socket发送。 3. 服务端接收。 4. 服务端解包。 逐个说说这其中的操作方法。 1.第一 阅读全文

白话skynet第一篇

2019-04-11 12:11 by 撞破南墙, 1230 阅读, 收藏, 编辑
摘要: 当你走过一个坐在自己店门前的杂货商面前。走过一个吸着烟斗的守门人面前,走过一个马车夫面前时,请你给我描绘一下这个杂货商、守门人和马车夫,他们的姿态,他们的外貌,要用画家那样的细节描绘出他们的精神本质,使我不至于把他们同任何别的杂货商人、任何别的守门人、任何别的马车夫混同起来,还请你只用一句话就让我知 阅读全文

调试一个socket通信bug的心理过程和反思

2016-12-16 19:21 by 撞破南墙, 989 阅读, 收藏, 编辑
摘要: 背景交代。最近在玩lua的服务端编码, 有项目A,B,AB都是同一个模子的。我手上有A的winsocket客户端和服务端的代码,B项目早期的一份linux下的lua client。服务端、客户端都是LUA。 目标:调通B的client供我在Linux下对A做测试。 顺便加强对A项目的认识,主要是通讯 阅读全文