游戏服务端
无痕Miss
这个作者很懒,什么都没留下…
展开
-
<伍>kbengine源码剖析之线程池
线程池的代码目录是在lib->thread中1.变量定义 bool isInitialize_; // 线程池是否被初始化过 //使用stl队列实现正在处理列表 std::queue<TPTask*> bufferedTaskList_; // 系统处于繁忙时还未处理的任务列表 //使用stl双向链表实现 std::list<TPTask*> finiTaskList_; // 已经完成的任务列表原创 2021-02-26 22:27:49 · 230 阅读 · 0 评论 -
centos下使用gdb查看coredump
之前大部分时间都是在windows下进行开发,一般都是用集成环境,所以当出现程序崩溃的时候,直接使用编译出来的pdb文件即可找到有用的堆栈信息,并且解决问题1.centos下默认是不生成coredump,先打开限制,直接上代码吧#!/bin/bash### Filename: coredumpshell.sh### Description: enable coredump and format the name of core file on centos system# enable原创 2020-11-09 17:30:08 · 1375 阅读 · 0 评论 -
<肆>kbengine源码剖析之kcp
kbengine中使用了udp跟tcp两种传输方式,udp使用的是可靠udp,也就是kcp,这里我们分析一下kcp是怎么植入到引擎中1.channel初始化kcp接口bool Channel::init_kcp(){ static IUINT32 convID = 1; // 防止溢出,理论上正常使用不会用完 KBE_ASSERT(convID != 0); if(id_ == 0) id_ = convID++; pKCP_ = ikcp_create((IUINT32)i原创 2020-08-23 14:52:47 · 503 阅读 · 0 评论 -
<叄>kbengine源码剖析之network
kbengine是同时支持linux与windows平台的,以前可能做windows平台比较多,本能的认为windows平台下使用的是IOCP完成端口,看了源码后,已经大体的能够看出windows下使用的是select,linux下使用的是epoll,接下来我们从下面步骤进行分析。1.loginapp是组件中最简单的,先分析下启动流程int KBENGINE_MAIN(int argc, char* argv[]){ ENGINE_COMPONENT_INFO& info = g_kb原创 2020-08-22 18:53:38 · 378 阅读 · 0 评论 -
<贰>kbengine源码剖析之loginapp
前面介绍了kbengine的大体框架结构及组成部分,接下来我们对引擎进行化整为零的分析,我们先介绍一下loginapp的作用及其使用方法。1.客户端登录校验loginapp_interface.h// 用户登录服务器 LOGINAPP_MESSAGE_EXPOSED(login)LOGINAPP_MESSAGE_DECLARE_STREAM(login,NETWORK_VARIABLE_MESSAGE)loginapp.h//用户登录校验void Loginapp::login(N原创 2020-08-22 13:55:43 · 280 阅读 · 0 评论 -
<壹>kbengine源码剖析之服务器框架
先简单了解下kbengine的框架架构,下面先上图 框架由loginapp,baseappmgr,baseapp,cellappmgr,cellapp,dbmgr,machine,interfaces,logger进程组成,下面主要介绍功能模块的作用,下面我们来介绍下每个功能模块的作用1.loginapp作用主要是登录验证、注册、接入口2.baseappmgr协调所有baseapp的工作,包括baseapp负载均衡处理等3.baseapp由loginapp校...原创 2020-08-22 12:15:20 · 581 阅读 · 0 评论 -
centos7安装mysql8.0版本
1.下载rpm包wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm2.安装rpm包yum localinstall mysql80-community-release-el7-1.noarch.rpm3.安装mysqlyum install mysql-community-server4.设置无大小写敏感vim /etc/my.cnf //编辑my.cnf文件在[mysq原创 2020-06-18 14:12:55 · 192 阅读 · 0 评论 -
vs2017编译RecastNavigation【导航网格工具】
1.先下载recastnavigation源码2.下载sdl2源码,将下载好的源码放入RecastDemo/Contrib文件夹内,这里选择的是sdl2.0.103.进入RecastDemo/Contrib/SDL/VisualC文件夹打开SDL.sln编译,这里使用的是vs20174.编译完成后将RecastDemo/Contrib/SDL/VisualC/Win32/Rel...原创 2019-12-09 22:43:15 · 486 阅读 · 0 评论