代码编织梦想

【c++重写skynet底层01】skynet实战-爱代码爱编程

【c++重写Skynet底层01】skynet实战—sunnet基本框架,创建,开启,等待线程退出方法,模仿skynet写消息类 【c++重写Skynet底层02】skynet实战—模仿skynet写服务类,多线程下的对象管

skynet 网络模块解析-爱代码爱编程

文章目录 前言环境准备sneak peek线程数据结构会话对象:持有基础套接字,封装了套接字的基础操作。会话管理器:持有并管理会话池,给外部模块提供网络接口。 网络模块管理会话管理器的生命周期管理工作模式

【skynet 入门实战练习】事件模块 | 批处理模块 | gm 指令 | 模糊搜索-爱代码爱编程

文章目录 前言事件模块批处理模块GM 指令模块模糊搜索最后 前言 本节完善了项目,实现了事件、批处理、模糊搜索模块、GM 指令模块。 事件模块 什么是事件模块?事件模块是用来在各系统之间传

skynet 中 mongo 模块运作的底层原理解析-爱代码爱编程

文章目录 前言总览全流程图涉及模块关系连接数据库函数调用流程图数据库操作函数调用流程图涉及到的代码文件 建立连接SCRAMSASL 操作数据库结语参考链接 前言 这篇文章总结

【skynet 入门实战练习】分布式 id | 雪花算法 | 缓存设计 | lru算法 | 数据库-爱代码爱编程

文章目录 前言雪花算法LRU 算法缓存模块数据库测试逻辑 前言 本节实现了 分布式 ID 生成系统,采用雪花算法实现唯一 ID;实现缓存架构,采用 LRU (最近最少使用)算法。 雪花算法

【mongodb】ubuntu22.04 下安装 mongodb | 用户权限认证 | skynet.db.mongo 模块使用_ubuntu22.04安装mongodb-爱代码爱编程

文章目录 Ubuntu 22.04 安装 MongoDB后台启动 MongoDBshell 连入 MongoDB 服务 MongoDB 用户权限认证创建 root 用户开启认证重启 MongoDB 服务

【从零开始学skynet】实战篇《球球大作战》(十一):战斗场景设计-爱代码爱编程

        现在的服务端框架有支撑数万玩家的能力,且支持横向拓展(即 增加物理机数量),理论上具有无上限的负载能力。下面以《球球大 作战》为例,说明怎样使用这套框架。 1、战斗流程         玩家登录后,玩家可以做些非战斗操作(仿照work示例,可以实现 成就、背包、邮件、好友等功能),如下图所示:

【从零开始学skynet】基础篇(五):简易聊天室_如何用skynet搭建社交平台-爱代码爱编程

        在游戏中各玩家之间都可以进行聊天之类的交互,在这一篇中,我们就来实现一个简易的聊天室功能,这在上一篇代码的 基础上很容易就能实现。 1、功能需求  客户端发送一条消息,经由服务端转发,所有在线客户端都能收到,如下图所示: 2、代码实现         在skynet/examples

【从零开始学skynet】基础篇(三):服务模块常用api_skynet主服务和子服务-爱代码爱编程

1、服务模块                  Skynet提供了开启服务和发送消息的API,必须要先掌握它们。列出了Skynet中8个最重要的API,PingPong程序会用到它们。 Lua API说明newservice(name, ...) 启动一个名为 name 的新服务,并返回服务的地址。 start(func)        用 func

【从零开始学skynet】基础篇(一):skynet环境搭建_skynet教程-爱代码爱编程

        Skynet运行于Linux操作系统,我们可以在自己的电脑上搭建虚拟机系统,也可以购买阿里云、腾讯云服务器,笔者这个系列的所有代码都是在Ubuntu16.04的虚拟机系统下运行。关于Ubuntu系统的环境搭建,前面的文章已经提过了:Ubuntu16.04环境搭建 1、工具下载 在下载和编译skynet之前,我们需要先下载几个工具,使

【从零开始学skynet】基础篇(四):网络模块常用api_skynet socket-爱代码爱编程

        游戏服务端要处理客户端请求,作为服务端引擎,网络编程也是Skynet的核心功能。 1、学习网络模块   skynet.socket 模块提供了网络编程的 API,常用的API如下表所示: Lua API说明socket.listen(address ,port)监听一个端口,返回一个 id

【从零开始学skynet】基础篇(二):了解skynet-爱代码爱编程

1、节点和服务         在下图所示的服务端系统中,每个Skynet进程(操作系统进程)都称为一个节点,每个节点都可以开启数千个Lua服务,每个服务都是一个Actor。不同节点可以部署在不同的物理机上,提供分布式集群的能力。      在上图中,我们开启了3个节点和5个服务的服务端系统。 拓展:其实Skynet的强项主要是在于单个节点

skynet设计原理和使用_skynet 使用-爱代码爱编程

skynet设计原理 一、多核并发编程方式二、skynet2.1、skynet简介2.2、环境准备2.3、编译安装2.4、Actor 模型2.5、消息队列2.6、actor公平调度 三、skynet的使用

为skynet的crypt库扩展一些加密(摘要)算法支持_copy all files in skynet-爱代码爱编程

改造起因 在上篇文章, 我描述了为skynet添加稳定的websocket支持的起始并阐述了这么做的原因. 这几天在测试的时候发现, 当使用skynet内置的httpc库的时候会遇见crypt缺少一些我需要用到的算法(例

skynet学习笔记之http服务搭建3_skynet http-爱代码爱编程

文章目录 前言架构介绍问题解决办法关键代码结语参考文章 前言 上周用 master/slave 机制搭建了个带有网关的 http 服务器,那个是方案一,gate 和 game 在一个集群。经过

skynet中使用websocket和wss-爱代码爱编程

因为业务需要,在skynet中加入了websocket连接方式,还好有前辈采坑,提供了连接方式以及协议解析的方式,链接发出来   https://github.com/Skycrab/skynet_websocket ,只需要几个lua文件就解决了问题,但是如果要模拟原始skynet框架通信的格式,需要gate,agent,watchdog,就需要自己创

-爱代码爱编程

本文主要参考&转载:skynet源码赏析 云风的 BLOG: skynet Archives 云风的 BLOG: Skynet 设计综述 本文旨在记录我对skynet重新学习和理解的过程,也便于以后回顾(本文纯手打,输出的过程也是记忆的过程)。 创建一个c服务,一般要经历下面几个步骤: 从modules列表中,查找对应的服务模块,如果

skynet cmakelists.txt-爱代码爱编程

cmake_policy(SET CMP0091 NEW) project(skynet) cmake_minimum_required(VERSION 3.21) set_property(GLOBAL PROPERTY USE_FOLDERS ON) #SET(CMARE_ENABLE_EXPORTS TRUE) #SET(CMALE_WINDOWS_

游戏开发服务器选型的横向对比-爱代码爱编程

来源一个某乎的作者,貌似来自台湾 上篇介绍了go版本的游戏服务器,这篇介绍下其它语言版本: SkynetkbengineNoahGameFramePomeloPinusET使用的语言C/LuaC++C++NodejsTypeScriptC#概述云风前辈开源的框架mmo框架server一个快速的、可扩展的、分布式的C++游戏服务器引擎/框架网易开源的游戏

【skynet】服务调度实验-爱代码爱编程

写在前面 skynet 是一个多线程框架,功能按服务划分,正确区分各个名词十分重要。 线程:程序可以并行运行多少个执行序服务:模块运行时的实例,多个服务可以并发执行协程:调度最小单元,一个服务由多个协程组成