skynet教程(2)--项目代码独立于skynet源码结构

作者:shihuaping0918@163.com,转载请注明作者目前大部人使用skynet进行开发的时候,都是直接在skynet的源码目录下直接开发的。这样有一个不好的地方就是,自己的代码和skynet本身的代码混在一起,项目交接或者是有新成员加入的时候,比较容易迷惑,到底哪些文件才是我要关注的...

2017-09-02 09:06:20

阅读数 1157

评论数 1

skynet教程(1)--服务的编写

作者:shihuaping0918@163.com,转载请注明作者自从skynet源码分析系列文章发布以后,陆续收到不少的反馈,说需要一个step by step的教程,身边的朋友也要求出个教程。于是就写了这个教程。每个教程都是从hello world开始的,所以先写一个echo服务作为hell...

2017-09-02 08:20:29

阅读数 6857

评论数 1

skynet教程(0)--skynet的获取和编译

作者:shihuaping0918@163.com,转载请注明作者本篇作为skynet的开篇,主要是介绍skynet基本环境的搭建以及知识储备。怎么获取skynet的源码,怎么编译。目前的skynet版本是1.1,是云风最近一次发布的。本篇只涉及linux下的环境搭建,不介绍windows下的相关...

2017-09-02 08:19:28

阅读数 665

评论数 0

pomelo源码分析(8)--session

作者:shihuaping0918@163.com,转载请注明作者pomelo中有session/frontendSession/backendSession/sessionService。名字看起来都有点像,这一篇准备讲session和sessionService。session是对用户连接的一...

2017-08-27 19:45:47

阅读数 426

评论数 0

pomelo源码分析(7)--connector与其它组件交互

作者:shihuaping0918@163.com,转载请注明作者connector是一个重量级组件,它依赖connection/server/pushScheduler/session组件。 对session组件的依赖是对连接创建一个session。 对connection的依赖是连接数的增...

2017-08-27 19:44:37

阅读数 218

评论数 0

pomelo源码分析(6)--connector协议处理message

作者:shihuaping0918@163.com,转载请注明作者pomelo框架核心提供了sioconnector,udpconnector,hybirdconnector,mqttconnector。sioconnector基于socket.io,使用json通信,pc端通信。hybirdco...

2017-08-26 22:38:20

阅读数 1178

评论数 0

pomelo源码分析(5)--node.js中的this

作者:shihuaping0918@163.com,转载请注明作者在继续分析代码之前,需要先讲一下node.js中的this是什么。因为不讲这个的话,后面的内容进行不下去。在以前版本的node.js中,全局this是个空对象,在node8的repl中,全局this和global是相等的。> ...

2017-08-26 22:36:30

阅读数 165

评论数 0

pomelo源码分析(4)--connector之网络监听

作者:shihuaping0918@163.com,转载请注明作者pomelo的connector负责接收外部连接,同时做协议的编码解码,接收的时候做解码,发送的时候做编码。如果有对消息进行加密的话,也是在这里进行处理。有unicode的话,还要转码成utf8。connector的网络处理是基于事...

2017-08-26 15:52:22

阅读数 718

评论数 0

pomelo源码分析(3)--配置设置和读取及app.load

作者:shihuaping0918@163.com,转载请注明作者以https://github.com/NetEase/chatofpomelo/tree/master/game-server服务器为例子来说明配置读取是怎么完成的,chatofpomelo是pomelo做为聊天服务器的例子。它的...

2017-08-26 13:05:57

阅读数 912

评论数 0

skynet源码分析(11)--skynet的配置加载

作者:shihuaping0918@163.com,转载请注明作者skynet中的源码已经分析得差不多了,还有启动过程没有分析。skynet的配置文件是以lua格式来写的。使用过skynet的都清楚skynet的启动命令是skynet config_file_name。配置文件名是作为命令行参数传...

2017-08-22 21:08:14

阅读数 325

评论数 0

skynet源码分析(10)--消息机制之消息注册和回调

作者:shihuaping0918@163.com,转载请注明作者在第5篇和第6篇已经分析过消息的发送和消息的处理,但是没有谈到消息回调函数的注册,还有消息回调的详细过程。第9篇已经讲了一部分消息的回调处理。skynet中的回调对C服务和对LUA服务的注册机制是不同的,C服务的回调可以直接挂载。但...

2017-08-21 21:23:53

阅读数 420

评论数 0

skynet源码分析(9)--LUA C API

作者:shihuaping0918@163.com,转载请注明作者这篇文章是分析skynet消息注册前的知识准备,skynet的消息注册,C服务和lua服务设置回调走的函数是不同的。C的回调可以直接调,但是lua的回调不行,它需要一个默认的回调C函数,将返回参数转换为lua能理解的格式,遵循lua...

2017-08-21 18:58:11

阅读数 255

评论数 0

skynet源码分析(8)--skynet的网络

作者:shihuaping0918@163.com,转载请注明作者 网络部分是一个服务器最基础最核心的部分,这个技术也已经是非常成熟了,现在已经很少有人自己实现一个网络相关的库了。skynet的网络库是自己实现的。网络底层的技术在windows上是完成端口(IOCP),在linux上是EPOLL...

2017-08-21 12:56:56

阅读数 449

评论数 0

skynet源码分析(7)--skynet中的timer

skynet的timer是做游戏用得比较频繁的一个功能,分析一下它的源码还是有意义的。而且核心的C源码除了timer和网络以外,已经基本分析得差不多了。其它都是跟lua c api相关,或者是跟lua交互比较多的。timer的源码在skynet-timer.c和skynet-timer.h中。 在...

2017-08-21 10:41:50

阅读数 338

评论数 0

skynet源码分析(6)--消息机制之消息分发

作者:shihuaping0918@163.com,转载请注明作者 第5篇讲到了消息的处理,消息的处理实际上就是对工作队列里的消息不停地调回调函数。那么消息是怎么放进消息队列的呢。带着这个疑问,让我们从lua层开始追根溯源。 在lua层有两个api,一个是skynet.send,这个是非阻塞发消息...

2017-08-21 10:41:47

阅读数 326

评论数 0

skynet源码分析(5)--消息机制之消息处理

作者:shihuaping0918@163.com,转载请注明作者 skynet的消息机制准备拆成三个部分来讲,第一部分是接收处理,第二部分是分发,第三部分是消息注册。顺序是倒过来的讲的,我觉得这样更容易被人接受理解。顺过来讲会有一个问题就是,讲到a时,可能牵扯到b.c.d,而b.c.d可能又牵扯...

2017-08-21 10:41:44

阅读数 378

评论数 0

skynet源码分析(4)--monitor

作者:shihuaping0918@163.com,转载请注明作者 skynet对服务的监控做得比较简陋,从设计原则上来说,这样做也是对的,因为框架层能做的,基本就是上报和打日志,上层的业务是变化万千的,不论怎么写,都可能满足不了上层的业务需求。skynet中对服务的监控实现在skynet_mon...

2017-08-21 10:41:41

阅读数 804

评论数 0

skynet源码分析(3)--消息名字和ID之handle

作者:shihuaping0918@163.com,转载请注明作者 消息机制是skynet中一个比较难理解的东西,在开始分析代码前,建议先读一下云风的博客和skynet的WIKI。SKYNET设计综述:http://blog.codingnow.com/2012/09/the_design_of_...

2017-08-21 10:41:38

阅读数 430

评论数 0

skynet源码分析(2)--消息队列mq

作者:shihuaping0918@163.com,转载请注明作者 消息队列是skynet的核心功能之一,它的功能说白了就是入队出队,先进先出,这个数据结构都有讲过。源码实现在skynet.h和skynet.c中。下面来看一下这两个文件。 #ifndef SKYNET_MESSAGE_QUEUE_...

2017-08-21 10:41:35

阅读数 316

评论数 0

skynet源码分析(1)--模块加载

作者:shihuaping0918@163.com,转载请注明作者 两个月前接触skynet,最初使用的时候过程是相当痛苦的,而且网络上可以找到的学习资料并不多。当时决定写一些skynet相关的文章,最近终于有空了,开始写这个东西。 skynet是云风开源的一个游戏框架,底层是c,中间层和上层都是...

2017-08-21 10:41:32

阅读数 446

评论数 0

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