随笔分类 -  skynet analysis

we are applying skynet to our new game , i want to study further to skynet.
摘要:1.这几天研究skynet中的 lua-netpack.c 中的解析数据包过程。于是把lua部分去掉,修改了一些接口,留下解包相关的代码。再结合云风写的网络代码的例子, 写了一个最简单形式的客户端封包,服务器解包的代码,作为学习笔记的同时也希望能够帮助一些像我一样的新手学习理解封包,解包的概念。 p 阅读全文
posted @ 2017-05-26 01:45 mr_yu 阅读(1938) 评论(0) 推荐(0)
摘要:1.截至目前群里的成员已经对skynet中的timeout提出了更多的要求。目前skynet提供的定时器是倒计时形式,且定时器一旦设置后,便不能撤销(至少目前的实现是这样),然后调用 cb 最近有人提出希望能支持一下撤销定时器的功能,但云风坚持:“框架只应该提供必不可少的特性,能用已有的特性实现的东 阅读全文
posted @ 2016-09-15 01:41 mr_yu 阅读(3079) 评论(3) 推荐(0)
摘要:1.作为skynet的启动文件,主要完成了一些初始化和读取并存取配置文件内容的工作. 在这里只将代码读取配置文件的部分抽取出来,就算没有skynet环境,这些代码也是可以运行的,了解以后再对照源码进行分析,希望能对理解skynet带来一些帮助 #include "lua.h" #include "l 阅读全文
posted @ 2016-08-31 01:25 mr_yu 阅读(2219) 评论(0) 推荐(0)
摘要:最近主程更改了数据库的操作方案,由之前的拼写sql脚本转为在mysql端创建好存储过程后,直接调用存储过程。 首先对一个表测试上述过程: 数据库端存储过程:(测试表) CREATE TABLE `randomval` ( `id` int(10) unsigned NOT NULL, `val` i 阅读全文
posted @ 2016-05-23 23:52 mr_yu 阅读(1937) 评论(0) 推荐(0)
摘要:skynet中的.so动态库由service-src中的c文件编译完后生成,其中最重要的是snlua.c. 源码地址:https://github.com/cloudwu/skynet/service-src 这里不介绍如何生成动态库,而是介绍当编译成动态库后,skynet是如何利用里边的函数的. 阅读全文
posted @ 2016-03-28 00:30 mr_yu 阅读(1727) 评论(0) 推荐(0)
摘要:最近读skynet c语言部分的源码,发现有好多锁的使用和gcc提供的一些原子操作。看到这些东西,对于我这个newbee来说实在有些hold不住。但为了了解并进一步掌握,还是决定好好分析一下。不足之处望指正。 自旋锁(spinlock) 和 互斥锁(mutex) 对比 自旋锁:得到锁之前是在一个循环 阅读全文
posted @ 2016-03-16 10:11 mr_yu 阅读(2112) 评论(0) 推荐(0)