服务器开发

2024/4/12 0:37:27

【从零开始学Skynet】实战篇《球球大作战》(十三):场景代码设计(下)

1、主循环 《球球大作战》是一款服务端运算的游戏,一般会使用主循环程序结构,让服务端处理战斗逻辑。如下图所示,图中的balls和foods代表服务端的状态,在循环中执行“食物生成”“位置更新”和“碰撞检 测”等功能,从而…

一文搞懂 什么是CPU上下文?为什么要切换?如何减少切换?

最近经常有小伙伴问到的一些问题,比较集中的是关于CPU切换. 实际用C/C,go开发,你会特别注意内存和CPU的使用情况,那些对于CPU使用情况特别关注,或者性能特别关注的朋友可以看看这篇文章,相信看完结尾的示例…

Linux编译器-gcc/g++

前言 gcc/g是Linux中的编译器,vim是Linux中的编辑器。要想将代码运行起来还需要编译才可实现。 本篇文章,主要通过预处理、编译、汇编、链接来介绍gcc/g。 预处理 预处理是进行宏替换 功能:主要包括宏定义,文件包含,条件编译,去注释等预处…

【从零开始学Skynet】实战篇《球球大作战》(八):login代码设计

现在来编写我们的第二个服务——登录服务,在编写此服务时,建议大家对照着如下所示的流程图来看,知晓各个方法的作用,写起来会简单许多。 1、登录协议 定义如下图所示的登录协议: 客户端需要发送玩家账号和密码&#x…

程序员工作5年,还是个中级程序员,如何再快速晋升?

我曾经就是这个状态,5年工作经验就像是一年工作经验用了5年。职业生涯遇到了瓶颈,无法突破。分析原因有很多,一方面是基本功没练好,像操作系统底层、数据结构、算法、计算机网络这些计算机基础知识掌握的不扎实,不能灵…

手把手写C++服务器(40):《深入应用C++11,代码优化与工程级应用》读后感和一点思考

本系列文章导航: 手把手写C++服务器(0):专栏文章-汇总导航【更新中】 目录 C++11中的多线程 线程 互斥量 独占互斥量std::mutex 递归互斥量std::recursive_mutex

【从零开始学Skynet】实战篇《球球大作战》(十二):场景代码设计(上)

场景服务会处理绝大部分的游戏逻辑。新建service/scene/init.lua,开始编写相关代码。1、Ball类 场景中包含小球和食物这两种对象,先看看小球的实现。代码如下所示:--球 local balls {} --[playerid] ballfunction ball()local m {playerid…

学习游戏服务器开发必看,C++游戏服务器开发常用工具介绍

C游戏服务器开发常用工具介绍在软件开发过程中需要使用的工具类型实属众多,从需求建模到软件测试,从代码编译到工程管理,这些工具都对项目有着不可替代的作用。庄子有云,“吾生也有涯,而知也无涯,以有涯随无…

【Skynet 入门实战练习】开发环境搭建 | 运行第一个项目 | debug console 简单使用

文章目录 写在前面开发环境搭建skynet配置文件项目,启动! debug console 写在前面 本系列【Skynet 入门实战练习】所有源码同步:https://gitee.com/Cauchy_AQ/skynet_practice 开发环境搭建 skynet skynet 框架地址:https://g…

【从零开始学Skynet】基础篇(四):简易聊天室

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

【从零开始学Skynet】实战篇《球球大作战》(十五):项目问题和改进

1、问题:在客户端发起登录协议后,在登录协议返回之前客户端下线。由于此时agentmgr记录的是“登录中”状态,下线请求不会被执行,除非再次登录踢下线,否则agent会一直存在。这种情况不常出现。 解决:方法是让…

C++游戏服务器框架笔记(四)_封装Select

C游戏服务器框架笔记(一)_封装数据包类 C游戏服务器框架笔记(二)_封装Socket类 C游戏服务器框架笔记(三)_封装ByteBuffer类 C游戏服务器框架笔记(四)_封装Select 因为设想的次系列服务器主要应用场景是linux系统下,支持Windows系统是为了更好的调试和开发&#x…

【从零开始学Skynet】实战篇《球球大作战》(十四):agent跨服务器版

至此,我们已完成了《球球大作战》的绝大部分功能,只剩下完 善agent ,让它和 scene 服务联动了。 1、多个模块 一般而言,代理服务会承载很多系统,比如邮件、成就等,此处涉及的代码较多,容易混 乱…

【从零开始学Skynet】实战篇《球球大作战》(十):agent代码设计

现在开发登录流程涉及的最后一个服务agent,完成后就可以真正地把框架运行起来了。还会演示agent的单机功能,做个“打工”小游戏。 1、消息分发 玩家登录后,gateway会将客户端协议转发给agent(流程图的阶段⑨)。 新建se…

Qt网络编程实战之HTTP服务器-安晓辉-专题视频课程

Qt网络编程实战之HTTP服务器—30196人已学习 课程介绍 设计了一个实用的HTTP服务器,基于Qt的网络框架实现。先详细介绍Qt的网络、IO、线程、、自定义事件、配置文件等类库的详细用法,然后结合实际的HTTP服务器详细讲解了服务器的设计与实现。课程收益…