前言skynet是基于C做任务调度和消息传递, 基于lua做业务(消息)处理的框架。只要使用的平台c编译器支持c99,就能够编译运行skynet。 所以理论上skynet可以运行在嵌入式领域的。虽然skynet非常好用,但是skynet却不太好入门。 如果不充分理解skynet的原理,那么会提高不少的维护成本。因此编写此文档旨在更了解skynet的原理。 关于skynet框架的C语言部分网上已经很
转载
2024-07-25 13:10:29
156阅读
Skynet起源 Skynet起源于云风在简悦研发的第一个项目,研发的过程记录在博客里面,这个研发笔记第一次提到skynet 是框架的开发代号。Skynet综述 Skynet 设计综述提到Skynet核心解决什么问题,不解决什么问题以及核心功能设计细节Skynet 核心解决什么问题 需求:希望游戏服务器(但 skynet 不仅限于用于游戏服务器)能够充分利用多核优势,将不同的业务放在独立的执
转载
2024-07-13 07:42:39
147阅读
skynet网络剖析 1.tcp 2.epoll 3.socket线程 4.gate服务 5.netpack 解包打包 6.service_gate.c 原理 数据流大概如下 thread_socket --> skynet_socket_poll -->forward_message skynet_start.c skynet节点启动时会启动一个线程专门处
一、Skywalking介绍 skywalking是国产开源框架,一款分布式观察性分析平台和应用性能管理系统,提供分布式追踪,服务网格遥测分析,量度集合和可视化;对于一个大型的几十个,上百个微服务,skywalking能解决什么问题: 1.如何串联整个调用链路,快速定位问题? 2.如何缕清各个微服务之间的关系? 3.如何进行各个微服务之间的性能分析? 4.如何跟踪整个业务流程的调用处理顺
先插一句题外话,skynet中核心架构使用c语言,除此之外还大量使用了lua语言。这里不介绍lua。skynet在c中嵌入一层lua,主要是为了利用lua的协程,同步的方式实现异步的性能。关于协程,之前有过介绍。skynet中,io操作是由c完成的,lua是做业务层面的组装工作。 之前有过介绍,skynet中,有网络消息,这里介绍网络框架和网络消息的处理。网络模型skynet 采用 reactor
服务消息分发和回应同样在同一个目录建立3个文件(config,main.lua,service2.lua) config文件参考上一节main.lua代码:local skynet = require "skynet"
-- 启动服务(启动函数)
skynet.start(function()
-- 启动函数里调用Skynet API开发各种服务
print("======Server st
在实现业务逻辑的过程中,各个逻辑一般会抽象成一个服务,例如游戏中的登录服务,访问数据库服务,创建房间服务等等.服务与服务之间肯定是要通信和交互的,例如登录的时候要请求数据库验证.skynet是怎么实现两个服务的通信和交互的呢?为了突出主干,我简化了lua服务代码,A服务调用B服务:A服务代码(bootstrap.lua):skynet.start(function()
local addr =
转载
2024-07-16 20:43:01
94阅读
我们知道,云风大神的skynet是一个比较成熟的服务器解决方案。由于大多数程序员都是习惯在window下进行代码开发,有必要在windows下搭建一套skynet的开发环境。但是遗憾的是官方一直没有提供window下直接编译运行的版本,虽然也有大神改造过window下用VS编译的版本,但后续的更新还是会存在问题。 &n
本博客基于结项时的项目报告,写于2021年9月中下旬,内容稍有落后。代码Merge前发布的英文博客中包含了更详细易懂的例子,如有需要请参考。该项目来自于开源软件供应链点亮计划 - 暑期2021的Apache IoTDB - Apache SkyWalking适配器项目。插件的设计和开发工作都得到了IoTDB的黄向东老师(@jixuan1989)和SkyWalking的吴晟老师(@wu-sheng)
对于你不了解的框架或者引擎,介绍再多的逻辑结构都好像有点茫然的感觉。所以小编认为,最有效的方式就是搞清楚框架启动流程的步骤,让自己心中有一条线可以牵引着。以下内容转载于网友分享的文档里说明。对小编来说,如获珍宝,在这里也分享给大家。启动流程的相关源代码在skynet-src\skynet_main.c 和skynet-src\skynet_start.c 这两个文件中。skynet_main.c
转载
2024-04-22 10:41:29
122阅读
Skynet入门实例一、下载和编辑二、运行解析三、理解skynet3.1 配置文件说明:3.2 目录结构:四、skynetAPI五、skynet实例程序4.1 PingPong4.2 聊天室(Echo的升级,收到的信息广播给所有在线玩家)4.3 做留言板,使用数据库4.4 监控服务状态4.5 使用节点集群建立分布式系统六、使用skynet注意事项5.1 协程的作用5.2 扣除金币的Bug 一、下
转载
2024-06-04 05:39:46
709阅读
一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp)程序员的生活要一切自动化,更要幸福^_^。 概述平台:mac例子工程:基于cocos2dx引擎的项目 事实:就是一组shell脚本和一些工具 我的 目录结构Work |-----Project |---------cocos2d
转载
2024-08-15 11:12:43
40阅读
本篇主要介绍在Lua服务里调用skynet网络层底层接口的流程,Lua层的api主要在lualib/skynet/socket.lua,可参考官方wiki https://github.com/cloudwu/skynet/wiki/Socket。通过一个简单的例子说明Lua服务是如何最终调用到网络层底层接口的
原创
2022-04-25 13:41:47
754阅读
简介 在分布式系统当中,想要监控服务与服务之间调用耗时,或者是查问题的时候,不能像向单机那种形式去查询.查找了一段时间发现目前市场上用的是skywalking,由华为大佬开源的项目。摘自skywalking简介:一个开放源代码的可观察性平台,用于收集,分析,聚合和可视化来自服务和云本机基础结构的数据
SkyWalking为服务,服务实例,端点提供可观察性功能。服务,实例和端点这两个术语在今天
转载
2024-08-14 18:00:48
60阅读
对 Lua 字节码进行加密由于 luajit 不支持 64 位,quick 新的版本默认使用 lua 5.1.5 版本,并提供将 lua 源码打包成通用字节码的工具 luac 。为了增强安全性, quick 提供了一个基本加密方案,使开发者可以对字节码作自定义的加密,防止对字节码的简单反编译工作。此方案配合原有的XXTEA加密方案,已经能够满足普通的加密需要。如果开发者需要更高强度的加密,可以与我
转载
2024-03-08 20:30:48
155阅读
如果开发者不想让游戏中的资源或脚本文件轻易的暴露给其他人,一般会采用对文件进行加密的方式来保护文件或资源被盗用。Quick-Cocos2d-x 为开发者提供了xxtea加密算法,用来对脚本文件及资源进行加密,加密对象大体分为如下几种:1. 对脚本/资源文件本身加密2. 将脚本/资源文件压缩成zip,对zip进行加密3. 对脚本/资源文件加密后,再将其压缩后的zip再次加密首先来演示对脚本文件的加密
转载
2024-03-07 13:53:06
351阅读
加密方式lua 代码加密方式很很多种,这里只讲最简单的一种,就是把代码编译成二进制字节码。lua 是一门脚本语言,不需要经过编译就可以使用 lua 解释器来执行;但我们也可以把 lua 代码事先编译成二进制文件,这样就达到了加密的方式。使用 lua 编译器最简单也最直接的方式就是使用 lua 编译器来编译 lua 代码,编译的方式很简单,打开命令行,输入下面的命令lucac -o dest.lua
转载
2024-02-21 14:54:51
254阅读
1. usage: cocos luacompile [-h] [-v] [-s SRC_DIR_ARR] [-d DST_DIR] [-e]
2. [-k ENCRYPTKEY] [-b ENCRYPTSIGN] [--disable-compile]
3.
4. 对 lua 文件进行加密和编译为字节码的处理。
5.
6.
转载
2024-04-30 17:05:09
454阅读
项目要求对lua脚本进行加密,查了一下相关的资料 ,得知lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密,试了一下,确实可行。下面是使用原生的lua解释器编译字节码:1、新建一个名为1.lua的文件,里面只有一句话print("Hello Lua"),新建一个空的out....
转载
2015-01-26 10:19:00
3054阅读
2评论
从各个开发语言出发,对每个开发语言的角度对加密方法做一些阐述。这篇主要讲述lua、erlang、perl、ruby语言的加密方法。加密所需:Virbox LM SDK最新版Virbox Protector加壳工具,DS Protector 文档下载:http://dl.video.virbox.com/video/VirboxLM-other.zip1、 lua安装版本: 5
转载
2024-02-25 14:20:29
368阅读