随笔分类 -  lua

摘要:skynet.call在设计的时候,是没有考虑超时的问题的。云风的解释是,加入之后会使得在其构建的系统增加不必要的复杂度。这个解释也是合理的,但是还是免不了有需求要使用到超时的机制。 举个简单例子,skynet实现的web服务,一些http请求的时候,如果没有超时机制,http请求就会一直占用。 云 阅读全文

posted @ 2021-09-17 00:25 Ron Ngai 阅读(700) 评论(0) 推荐(0)

摘要:基本原理 将场景区域划分为小格子,然后将玩家的视野统一设定为玩家所在的格子和周边的八个格子。这样在同步的时候就只需要同步九宫格内的数据。为此需要维护玩家进入和离开格子的数据。 基本接口 主要有四个接口,其中进入场景(enter)和场景内移动(move)在这里合并为set接口。 new_area: 新 阅读全文

posted @ 2021-08-28 15:11 Ron Ngai 阅读(612) 评论(0) 推荐(0)

摘要:lua lua_State 结构设计 数据结构 lua的内存结构最主要有三大块,lua_State、 CallInfo、 lua_TValue。 lua_State里面的 stack (栈)是主要的内存结构,类型是 lua_TValue; lua_TValue 主要是Value,是一个 uion,存 阅读全文

posted @ 2021-08-19 19:54 Ron Ngai 阅读(436) 评论(0) 推荐(0)

摘要:-- coroutine.create -- 创建协程 -- coroutine.yield -- 暂停执行 让出执行权 -- coroutine.resume -- 执行协程,继续执行协程 function foo(a) print("foo", a) return coroutine.yield 阅读全文

posted @ 2021-08-17 10:03 Ron Ngai 阅读(53) 评论(0) 推荐(0)

摘要:lua_State 线程相关脚本上下文 主要包括当前脚本环境的运行状态信息,还会有gc相关的信息。 global_State 全局信息 // global_State 的主要字段 typedef struct global_State { stringtable strt; // hash tabl 阅读全文

posted @ 2021-08-16 12:09 Ron Ngai 阅读(577) 评论(0) 推荐(0)

导航