E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
skynet
【从零开始学
Skynet
】实战篇《球球大作战》(十三):场景代码设计(下)
1、主循环《球球大作战》是一款服务端运算的游戏,一般会使用主循环程序结构,让服务端处理战斗逻辑。如下图所示,图中的balls和foods代表服务端的状态,在循环中执行“食物生成”“位置更新”和“碰撞检测”等功能,从而改变服务端的状态。scene启动后,会开启定时器,每隔一段时间(0.2秒)执行一次循环,在循环中会处理食物生成、位置更新等功能。service/scene/init.lua中新增的内容
寻水的鱼、、
·
2023-04-18 09:03
从零开始学Skynet
skynet
服务器开发
lua
【从零开始学
Skynet
】基础篇(九):调试控制台服务
Skynet
自带了一个调试控制台服务debug_console,启动它之后,可以查看节点的内部状态。
寻水的鱼、、
·
2023-04-18 09:31
lua
Skynet
服务器开发
【从零开始学
Skynet
】实战篇《球球大作战》(十一):战斗场景设计
现在的服务端框架有支撑数万玩家的能力,且支持横向拓展(即增加物理机数量),理论上具有无上限的负载能力。下面以《球球大作战》为例,说明怎样使用这套框架。1、战斗流程玩家登录后,玩家可以做些非战斗操作(仿照work示例,可以实现成就、背包、邮件、好友等功能),如下图所示:当点击“开始比赛”按钮时,客户端会发生“进入战斗”的协议。战斗流程如下图所示:服务端会开启很多scene服务,每个服务处理一场战斗。
寻水的鱼、、
·
2023-04-17 15:41
从零开始学Skynet
服务器
Skynet
lua
【从零开始学
Skynet
】实战篇《球球大作战》(十一):测试登录流程
如下代码所示:local
skynet
=require"
skynet
"local
skynet
_manager=require"
skynet
.manager"localrunconfig=require"runconfig"localcluster
寻水的鱼、、
·
2023-04-17 15:41
从零开始学Skynet
skynet
服务器
lua
【从零开始学
Skynet
】实战篇《球球大作战》(九):agentmgr和nodemgr代码设计
agentmgr是管理agent的服务,它是登录过程的仲裁服务,控制着登录流程。agentmgr中含有一个列表players,里面保存着所有玩家的在线状态。首先,在service/agentmgr目录下新建init.lua,然后开始编写它。1、玩家类根据登录流程可知,玩家会有“登录中”“游戏中”和“登出中”这三种状态,代码如下所示:--状态STATUS={LOGIN=2,GAME=3,LOGOUT
寻水的鱼、、
·
2023-04-17 15:40
从零开始学Skynet
lua
skynet
服务器开发
【从零开始学
Skynet
】实战篇《球球大作战》(十):agent代码设计
现在开发登录流程涉及的最后一个服务agent,完成后就可以真正地把框架运行起来了。还会演示agent的单机功能,做个“打工”小游戏。1、消息分发玩家登录后,gateway会将客户端协议转发给agent(流程图的阶段⑨)。新建service/agent/init.lua文件,代码如下所示:s.resp.client=function(source,cmd,msg)s.gate=sourceifs.c
寻水的鱼、、
·
2023-04-17 15:36
从零开始学Skynet
lua
Skynet
服务器开发
【从零开始学
Skynet
】实战篇《球球大作战》(四):分布式登录系统
处理玩家的登录,是服务端框架的主要功能之一。分布式系统涉及多个服务,让它们相互配合不产生冲突是一大难点。1、登录流程分布式服务端的登录功能要处理好如下两个问题:问题一:完成角色对象的构建和销毁。如下图所示:当客户端连接、发起登录时,服务端要创建一个对应角色的程序对象,用以加载角色数据。当客户端掉线时,服务端要保存角色数据,并销毁程序对象。这套框架会为每个客户端创建一个agent服务。如何解决:需要
寻水的鱼、、
·
2023-04-16 11:14
从零开始学Skynet
分布式
skynet
服务器开发
lua
【从零开始学
Skynet
】实战篇《球球大作战》(五):gateway代码设计(中)
1、编码和解码我们来实现两个辅助方法str_unpack和str_pack,用于消息的解码和编码。(1)str_unpack代码localstr_unpack=function(msgstr)localmsg={}whiletruedolocalarg,rest=string.match(msgstr,"(.-),(.*)")ifargthenmsgstr=resttable.insert(msg
寻水的鱼、、
·
2023-04-16 11:14
从零开始学Skynet
skynet
服务器
linux
lua
【从零开始学
Skynet
】实战篇《球球大作战》(三):封装常用的API
1、定义属性新建文件lualib/service.lua,定义模块的属性,service模块是对
Skynet
服务的一种封装,代码如下所示:local
skynet
=require"
skynet
"localcluster
寻水的鱼、、
·
2023-04-16 11:44
从零开始学Skynet
lua
Skynet
服务器开发
【从零开始学
Skynet
】实战篇《球球大作战》(五):gateway代码设计(上)
1、协议格式在写代码之前,我们要先了解什么是协议,协议就是“客户端向服务端发起的登录请求”,那么登录请求是什么样子的呢?这得先从TCP数据流说起,客户端发起的请求,就是一些二进制数据。(1)TCP粘包现象TCP协议是一种基于数据流的协议,举例来说,如果客户端分两次发送“1234”和“5678”这两条消息。服务端可能一次性接收到“12345678”;也可能先只收到“12”,过一会儿才收到“34567
寻水的鱼、、
·
2023-04-16 11:40
从零开始学Skynet
Skynet
服务器开发
lua
如果这篇文章说不清epoll的本质,那就过来掐死我吧!
epoll作为linux下高性能网络服务器的必备技术至关重要,nginx、redis、
skynet
和大部分游戏服务器都使用到这一多路复用技术。
碧俐千仞
·
2023-04-15 11:14
安装支持
skynet
的protobuf
一.下载和安装参考http://blog.csdn.net/linshuhe1/article/details/70186603https://www.owent.net/2017/1470.html使用云风自己写的c版本pbchttps://github.com/cloudwu/pbc.git但是不支持protbuf3.0以上版本使用楼上pbc改版https://github.com/owent
云上听风
·
2023-04-11 14:45
Creator+
skynet
开发棋牌
skynet
虽然是用c写的底层,但是开发过程中,用到c的机会少之又少,完全用lua开发即可。wx15829550992
漂泊的树叶hx
·
2023-04-09 09:41
2019-11-13
Skynet
、Airpark、Abx、GDEX、POSLAJU、NinjaVan、中税率低,价格优惠,时效快!
dpetony
·
2023-04-07 06:31
设计模式-代理模式
代理模式遵循的模式设计原则3.要点a.远程代理(隐藏⼀个对象存在不同的地址空间的事实),虚代理(延迟加载lazyload),保护代理(在代理前后做额外操作,权限管理,引⽤计数等);b.在分布式系统中,actor模型(
skynet
18189298828
·
2023-04-07 02:51
设计模式
代理模式
skynet
设计原理
skynet
设计原理多核并发编程的模型
skynet
Actor创建Actor运行Actor消息定时消息消息是如何推送到ActorActor的调度工作线程流程工作线程权重这个权重的作用是什么?
我也要当昏君
·
2023-04-06 14:45
零声学院Linux
c++
面试简历
笔记
数据结构
【转】HTTP协议及其POST与GET操作差异 & C#中如何使用POST、GET等
内牛满面~(┬_┬)http://www.cnblogs.com/
skynet
/archive/2010/05/18/1738301.html引言HTTP协议我想任何IT人士都耳熟能详了,大家都能说出个所以然来
weixin_34342578
·
2023-04-04 05:54
c#
网络
操作系统
skynet
原理解析
一、消息队列上图摘自Actor模型解析,每个Actor都有一个专用的MailBox来接收消息,这也是Actor实现异步的基础。当一个Actor实例向另外一个Actor发消息的时候,并非直接调用Actor的方法,而是把消息传递到对应的MailBox里,就好像邮递员,并不是把邮件直接送到收信人手里,而是放进每家的邮箱,这样邮递员就可以快速的进行下一项工作。所以在Actor系统里,Actor发送一条消息
钟离惜
·
2023-04-03 19:47
总结:那些热门的开源游戏服务器框架,还不看你就out了
###
skynet
云风大神的框架这个基
Clank的游戏栈
·
2023-04-01 23:27
游戏开发
laya
游戏服务器
游戏
java
github
区块链
编程语言
2022年4月9日记:Linux服务器开发,Mark,
skynet
重要组件以及手撕游戏项目
────────────────────────────────────┌————————————┐│▉▉♥♥♥♥♥♥♥♥99%│♥❤鱼沈雁杳天涯路,始信人间别离苦。└————————————┘对你的感情正在充电中,请稍侯…────────────────────────────────────推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:[Linux,Nginx,ZeroMQ,
屯门山鸡叫我小鸡
·
2023-04-01 11:32
c++
linux
c++
linux
skynet
框架学习,踩坑。
1、服务器下搭建
Skynet
框架首先,安装必要的编译环境以及git。
无名君丶
·
2023-03-30 21:58
成长史
服务器
Skynet
Skynet
服务器框架系列教程,
Skynet
框架之菜鸟手册.pdf
Skynet
框架之菜鸟手册.pdf/cloudwu/
skynet
Skynet
框架之菜鸟手册一个轻量级的网络游戏服务器Ver0.1.1wangdali2014-041/27/cloudwu/
skynet
2
漫姐
·
2023-03-30 21:18
Skynet服务器框架系列教程
skynet
初探
skynet
是云风团队发布的一个开源的服务器框架。底层采用C编写,逻辑层通常用lua。非常适合作为游戏的服务器框架。
weixin_30375427
·
2023-03-30 21:15
lua
git
c/c++
手把手教你从零跑一个
Skynet
一、前言最近,我在搞服务端的
skynet
框架,看看以后自己做些作品(
skynet
框架服务端+Unity客户端)。
此时一位网友路过
·
2023-03-30 21:44
csdn
其他
c++游戏服务器框架
c++游戏服务器框架
skynet
是一个开源的,轻量级的,为在线游戏服务器打造的框架
skynet
muduo是一个基于Reactor模式的C++网络库muduoboostasio是一个异步的网络框架官网:http
lucky九年
·
2023-03-30 20:30
c++
服务器
c++
游戏
skynet
入门笔记
入门观看博客笔记:博客笔记:第五篇关于服务别名别名注册与查询接口:在
skynet
中,服务别名可以分为两种:一种是本地别名,本地别名只能在当前
skynet
节点使用,本地别名必须使用.开头,例如:.testalias
原来只是一阵风
·
2023-03-30 20:17
lua
开发语言
游戏
接触
skynet
框架7个月
不知不觉用了
skynet
框架7个月了,对于
skynet
的掌握程度,自我评估在80%,于我来构建以
skynet
框架为平台的应用,问题不大,这个评估来源于近7个月736次git提交,以及从业多年的经验。
HERO_1
·
2023-03-30 20:47
skynet
lua
c语言
基于
skynet
设计游戏服务端框架
skynet
并不是一个开箱即用的服务端框架,游戏后端在开展业务时,需要根据自身业务特点,合理设计相应的服务端框架。在这里我根据自身的设计目标,写下各方面的选择与取舍。
蓝-萧
·
2023-03-30 20:40
服务器开发
游戏
数据库
架构
skynet
学习笔记之http服务搭建3
本文总结用
skynet
自带的c服务gate来搭建http服务器的网关,并且做到在c层转发完整的http数据包。我对该gate服务作为基础的c服务放在那却
tobybo
·
2023-03-25 03:24
skynet
c语言
lua
skynet
集群学习
在了解cluster之前,先看看example下的cluster1.lua和cluster2.lua例子,为了方便理解,我对这两个例子做了相应的修改:--cluster1.lualocal
skynet
=
lindx
·
2023-03-24 08:19
skynet
源码阅读笔记 ——
skynet
中的定时器机制
基本数据结构要了解
skynet
的定时器机制,需要先了解
skynet
中的timer的数据结构及初始化代码(
skynet
中所有timer相关的代码都存放于
skynet
_timer.c文件中):#defineTIME_NEAR_SHIFT8
进击的Lancelot
·
2023-03-23 22:39
基于
skynet
的服务器架构设计
使用
skynet
做为服务器通信底层开发已经有有好几年了,它以出色的执行效率和开发效率一直让我很是推崇。最近开发新项目,我重新整理了一下思路,在这里记录一下。
simon_xlg
·
2023-03-22 08:59
Unity3D手游开发实践
转自:http://www.cnblogs.com/
skynet
/p/5406495.html《腾讯桌球:客户端总结》本次分享总结,起源于腾讯桌球项目,但是不仅仅限于项目本身。
menghuangxiao
·
2023-03-20 23:22
Unity3d
C Evaluation Order 求值顺序
intfunc(intlen,intindex){ptr=malloc(len*sizeof(int));returnindex;}intmain(){ptr[func(1,0)]=1234;return0;}在
Skynet
YLME
·
2023-03-10 23:17
skynet
源码阅读笔记 —— 引导服务 bootstrap 的启动
引导服务bootstrap的启动
skynet
在启动的初期,在
skynet
_start函数中创建了两个服务logger和bootstrap。
进击的Lancelot
·
2023-03-09 08:45
c++之epoll原理解析与Client Server功能实现
Epoll作为Linux下高性能网络服务器的必备技术至关重要,Nginx、Redis、
Skynet
和大部分游戏服务器都使用到这一多路复用技术。
c+猿辅导
·
2023-02-22 22:34
手把手教你C++开发
手把手教你服务器开发
服务器
linux
网络
后台开发常见层式结构设计:时间轮、跳表、LSM_Tree
目录1、海量并发定时任务:时间轮2、高并发读写有序结构组织;跳表3、空间利用率以及写性能高的磁盘数据组织:LSM_Tree时间轮:内核定时器的实现、
skynet
、kafka、netty;跳表:redis
在三年之后
·
2023-02-16 23:56
C++开发后端基础知识
java
开发语言
snax学习
snax是一个方便
skynet
服务实现的简单框架。
lindx
·
2023-02-04 22:22
编程语言的简史
当时,他的发明受到了
Skynet
丝织工的强烈反对。
可许我言
·
2023-02-04 01:08
skynet
底层设计图解
最近想给新来的几个实习生和新员工培训一下
skynet
底层实现,于是有了写这篇文章的想法,关于
skynet
底层的文章有很多,但是都有一个问题,就是知识点过于细和分散,而且配图不堪入目,在我看来就是对
skynet
simon_xlg
·
2023-02-03 18:42
actor reactor proactor模型
skynet
是actor模型。reactor模型:1向事件分发器注册事件回调2事件发生4事件分发器调用之前注册的函数4在回调函数中读取数据,对数据进行后续处理libevent是reactor模型。
一凡_44e0
·
2023-01-30 05:23
商业化游戏服务器引擎的自定义框架设计思路
与
skynet
等游戏服务器开源框架不同,作为一款商业版的游戏服务器引擎,由于Matchvs本质上是将一整套联网功能集成为一个高可用的SDK,开发者只需根据游戏逻辑,通过SDK提供的API接口来调整所需要的参数即可
游戏服务器引擎Matchvs
·
2023-01-29 02:13
Real World CTF 2022 两道web题wp
Hackinto
Skynet
给了源码,先审一下#!
yink12138
·
2023-01-14 06:46
比赛
网络安全
web
Lua C接口编程(一)
引言
skynet
和openresty都是深度使用lua的典范,学习lua不经要学会基本语法,还要学会C语言与Lua交互。
基层搬砖的Panda
·
2023-01-13 20:41
Lua从入门到精通
lua
c语言
skynet
源码分析:服务,Actor模型,lua接口编程,demo演示Actor编程思维
skynet
刚开始是单进程多线程的,它是由一个一个的服务组成的。在
skynet
上做开发,实际上就是在写服务。服务与服务之间通过消息队列进行通信。
Linux服务器开发
·
2023-01-13 20:10
Linux服务器开发
底层应用开发
Linux后台开发
actor模型
skynet
lua
游戏开发
游戏服务器开发
初识Linux多线程编程
本文主要参考http://www.cnblogs.com/
skynet
/archive/2010/10/30/1865267.html一个看起来简单而实际涉及很多细节的关于多线程编程的实例,文章主要以该实例展开讲解
Glory_D
·
2023-01-05 17:15
Linux多线程编程
C/C++基础
Linux
之路
linux
多线程
pthread_create
skynet
源码分析之网络层—Lua层
本篇主要介绍在Lua服务里调用
skynet
网络层底层接口的流程,Lua层的api主要在lualib/
skynet
/socket.lua,可参考官方wikihttps://github.com/cloudwu
攻城狮百里
·
2022-12-26 11:05
skynet
skynet
c++
linux
Skynet
监控服务状态
Skynet
自带了一个调试控制台服务的debug_console,启动以后可以查看节点内部的状态首先我们先写一个ping程序为例Pmain.lualocal
skynet
=require"
skynet
"
skynet
.start
上上签i
·
2022-12-26 11:04
skynet
lua
开发语言
skynet
【Lua杂谈】基于lua的服务端架构——
skynet
通信原理与源码分析
前言提起中国的lua产品,就不得不想到
skynet
,一款针对游戏,但又不仅限于游戏的服务端架构。
utmhikari
·
2022-12-26 11:33
Lua杂谈
lua
skynet
lua_State
服务端
源码分析
skynet
:TCP主动连接端
socket.listen("ip:port")#当监听到连接时,自定义函数:accept会被触发socket.start(socket_id,accept)functionaccept(socket_id,addr)
skynet
.error
傲然君
·
2022-12-26 11:33
skynet
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他