Stella981 Stella981
2年前
Skynet 初探(1) 之 echo 复读机
  最近在关注云风大神基于CLua写的Skynet网络框架!采用单进程多线程的Actor并发模型,每个Actor都可以理解成一个服务(协程),服务之间的通信也是采用消息传递的机制与golang、erlang很像。    但是由于大神们的境界太高并且手册、文档较少,所以对初学者来说确实有点难入门。基本只能在目录下的examples与test目录下看实
Stella981 Stella981
2年前
Skynet 服务创建流程
Skynet服务创建流程根据设计综述(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fblog.codingnow.com%2F2012%2F09%2Fthe_design_of_skynet.html)Skynet是为了让服务器充分利用多核优势,将
Stella981 Stella981
2年前
Skynet Cluster 简介
SkynetCluster简介Cluster模块负责Skynet节点之间的通信。Cluster概述||node1||node2|<|
Stella981 Stella981
2年前
Skynet 简单的服务编写 (2)
          前面我们简单的用Skynet写了个lua服务,实现了简单的发送消息并调用输出“HelloWorld!”  而由于Skynet是网络框架,所以我们这次用Skynet写一个简单的服务来监听80端口。  具体流程如下:      1、在main文件入口内监ip为:192.168.2.5,端口为:80    
Stella981 Stella981
2年前
Skynet 设计综述
1.多线程模式,可以使得状态共享、数据交换更加高效。而多线程模型的诸多弊端,比如复杂的线程锁、线程调度问题等,都可以通过减小底层的规模,精简设计,最终把危害限制在很小的范围内。2.做为核心功能,Skynet仅解决一个问题:把一个符合规范的C模块,从动态库(so文件)中启动起来,绑定一个永不重复(即使模块退出)的数字id做为其handl
Stella981 Stella981
2年前
Skynet 进程启动
Skynet进程启动初始化配置skynet进程启动时需要指定配置文件,启动后读取配置文件中的内容并存储在内存中。配置文件格式是kv且k必须是字符串而v必须是字符串或者luaboolean类型。通过L读取配置,随后把配置存储在skynet_env.c模块中
Stella981 Stella981
2年前
Skynet 初探(2) 之 snax 版的 echo 复读机
main.lualocalskynetrequire"skynet"localsnaxrequire"snax"localfunctionmain(...)print("SkynetServerStarting....")localgate
Stella981 Stella981
2年前
Skynet 小试Debug_console...
  昨天凌晨4点还在写Skynet服务试玩(http://my.oschina.net/CandyMi/blog/846113),结果发现自己写的服务出现内存泄漏了。  今天早上起床吃早餐的时候一直在想:    "如果每个Lua服务处理完客户端关闭的网络连接后,服务是否会自动退出呢?"  答案:不会!    现在,我们来看昨
Stella981 Stella981
2年前
Skynet 简单的服务编写 (1)
Skynet通过内部注册的协议进行消息传输。看以下简单例子:  1、首先我们新建一个服务network;  2、然后对其进行发送一条lua消息,让其调用start函数进行输出;main.lualocalskynetrequire"skynet"localfunctionmain()
Stella981 Stella981
2年前
Skynet 代码(1)
服务端:mainlocalskynetrequire"skynet"localfunctionaction()skynet.uniqueservice("debug_console",8000)skynet.uniqueservice"watchdog"skynet.e