- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 4.吃透kbengine之dbmgr逻辑精读1
经过前面的学习,我们已经知道了kbe一个大概了,这节我们趁热打铁来了解下dbmgr进程,为什么说这个进程呢?我觉得dbmgr的关联性比较强,主要是处理数据的部分,在开发中多数情况下是离不开这个部分的,我们说下这个进程的主要逻辑以便于以后的进程中可以和这块穿起来,可以发现在loginapp中我们分析了创建账号的过程,数据的来源交互就是在这里,我们理解了这部分,有利于我们后面的学习。 废话不...
2019-03-26 18:17:50
1107
1
原创 3.吃透kbengine之loginapp逻辑精读3
这一节主要是对前面两节所分析的内容的不足的补充,这些补充内容是整个系统通用的部分,搞清楚有利于我们后面系统的分析。对了还有就是发现之前的思维导图中一些失误导致逻辑上有点问题,后面发现了会修改,所以本节开始会附上所有的思维导图,这节的思维导图名称:关于loginapp分析的思考和遗漏技术点补充 好的下面开始了,这节我们主要说到的是四个方面,1.定时器;2.任务队列;3.线程池;4.python模块...
2019-03-25 15:23:51
431
原创 2.吃透kbengine之loginapp逻辑精读2
这一节我们要说的是loginapp的通讯逻辑分析,我们在这里只是做了loginapp的通信逻辑,没有具体调试每个进程之间的调试,初步发现,客户端登陆的时候并不是直接和loginapp相连的,因为服务器的消息并非发直接发到客户端,由此可知,应该有一个类似网关的东西没有分析到,这里只是做一个大胆的猜想,具体是不是这样,在分析服务器框架的时候再仔细看看。 好了,言归正传,来说loginapp的...
2019-03-23 17:10:36
834
原创 1.吃透kbengine之loginapp逻辑精读1
一直都想找个时间研究下kbengine,毕竟kbe是一款功能强大,实力非凡的开源游戏服务器引擎,可以说在游戏服务器这块,目前还没看到能拿得出来的有kbe这么完善的功能齐全的性能如此优异的服务器框架了吧。 好了废话不多说,现在开始撸, 我的想法是这样的,在文章中我只会说重点的部分,还有我觉得不太好理解的地方,细节我会附件一个思维导图帮助大家细致的了解。 首先难理解...
2019-03-22 18:06:33
1044
原创 Linux下protobuf安装和使用
1.获取protobuf。 git clone https://github.com/protocolbuffers/protobuf.git 2.unzip安装 apt-get install autoconf automake libtool curl make g++ unzip 3.生成configure文件 ./autogen.sh 4.生成makefile ./...
2019-03-06 16:48:49
1059
原创 linux安装jemalloc
wget https://github.com/jemalloc/jemalloc/releases/download/5.0.1/jemalloc-5.0.1.tar.bz2 tar -jxvf jemalloc-5.0.1.tar.bz2 cd jemalloc-5.0.1 sudo apt-get install autogen autoconf ./autogen.sh make -...
2019-02-26 10:50:13
3865
原创 linux下安装lua 于c++交互
最近这两天需要弄清楚C++和lua间相互调用和数据传递,废话不多说,直接上过程。 首先是环境环境,Linux(Debian),安装lua,注意需要管理员权限。 sudo apt-get install lua5.2 安装完后输入lua或者lua -v 严重是否安装成功以及安装的版本,当然,有了lua运行环境还不够我们还需要安装lua开发库既然我们安装的是lua5.2那么开发...
2019-02-20 16:32:51
1036
1
原创 nginx高效内存池分析
背景分析 nginx作为一个高效的服务器服务器框架,在网站搭建领域占领了很大比例;以成为不可忽视的一大块领域;它能如此高效的运行跟他的优秀的内存管理机制有很大的关系,今天抽出时间就来学习和分析下它优秀的内存管理机制。 代码分析 首先我们来看下nginx的内存池的初始化部分; ngx_pool_t * ngx_create_pool(size_t siz...
2018-08-31 11:26:41
1018
原创 linux环境下利用epoll实现异步DNS
背景描述 在制作网络爬虫等功能的时候,必然会涉及到DNS解析,怎么高效的去解析域名影响到整个项目的效率; 废话不多说 ,进入正题,首先 主体是利用epoll的技术去实现 直接上代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h&...
2018-08-29 16:58:18
751
原创 linux文件IO底层读写操作
1.底层文件访问。 运行中的程序成为进程,每个进程都有与之关联的文件描述符。 文件描述符 - 一些小值整数,通过他们访问打开的文件或设备。开始运行会有三个文件描述符: 0: 标准输入 STDIN_FILENO 1: 标准输出 STDOUT_FILENO 2: 标准错误 STDERR_FILENO 文件描述符的变化范围...
2018-08-24 14:59:04
2599
原创 GooglePlay - 排行榜及支付接入
前言 Google Play应用商店在国外Android市场中地位基本与AppStore在IOS中的地位一致,为此考虑国外的应用时,Android首要考虑的是接入GooglePlay的排行榜等支持。 同样的由于Google未进入大陆市场,在大陆还是需要VPN才可以访问这些服务。 登录 官方文档: https://developers.google.com/games/serv...
2018-07-26 10:59:09
6151
转载 Cocos2d-Lua 3.12 生成绑定 导出C++类给LUA调用( tolua genbindings.py 的使用)
工具:Python、pyyaml、pyCheetah都用32位版本 (可避免很多错误) (ps:tolua目录下README.mdown里有下载链接) frameworks\cocos2d-x\tools\tolua\README.mdown 例子: MyClass.h [cpp] view plain copy
2017-12-22 18:58:01
364
转载 quick-cocos2d-x开发工具sublime text及其强力插件QuickXDev
更新:现在QuickXDev已经可以通过Package Control下载了,所有QuickXDev相关的请看这里:http://my.oschina.net/lonewolf/blog?catalog=412647 sublime text是一个小巧,强大,界面漂亮的代码编辑器,目前正式版本为2,开发版为3。下载地址:http://www.sublimetext.com/。sublime
2017-12-01 17:17:10
324
转载 Linux学习之CentOS(十一)--CentOS6.4下Samba服务器的安装与配置
一、先恶狠狠地吐槽一下: 这篇随笔真是让我折腾了2天2夜才敢下笔写!!!为什么呢?之前是通过去Samba的官网下载的源码包,也就是.tar.gz来进行安装配置,不过这个让我折腾来折腾去就是没折腾出结果,还花了我整整1天1夜的时间,最后实在是熬不住了,想通过yum来重新进行Samba服务器的安装与配置,但是要使用yum首先必须是CentOS要联网,而我又没有找到Samba的rpm包,而之前一直
2017-11-16 14:21:37
307
Linux学习之CentOS(十一)--CentOS6.4下Samba服务器的安装与配置
一、先恶狠狠地吐槽一下: 这篇随笔真是让我折腾了2天2夜才敢下笔写!!!为什么呢?之前是通过去Samba的官网下载的源码包,也就是.tar.gz来进行安装配置,不过这个让我折腾来折腾去就是没折腾出 一、先恶狠狠地吐槽一下: 这篇随笔真是让我折腾了2天2夜才敢下笔写!!!为什么呢?之前是通过去Samba的官网下载的源码包,也就是.tar.gz来进行安装配置,不过这个让我折腾来折腾去
2017-11-16 14:20:50
175
原创 cocos2dx lua 3.10 使用cjson
本篇介绍如何在lua中使用cjson对数据进行json的encode与decode,首先简单介绍下cjson: Lua CJSON 是 Lua 语言提供高性能的 JSON 解析器和编码器,其性能比纯 Lua 库要高 10 到 20 倍。 cocos2dx lua 3.10 默认目录中包含cjson文件(目录:/frameworks/cocos2d-x/external/lua),但是没
2017-11-07 16:17:04
783
原创 cocos2dx tiledmap 45度地图 世界坐标转换 格子坐标
Size mapSize = m_map->getMapSize(); Size tileSize = m_map->getTileSize(); Vec2 pos = position; float halfMapWidth = mapSize.width * 0.5f; float mapHeight = mapSize.height; float tileWidth = t
2017-11-04 13:40:15
2259
转载 使用tolua++实现C++与LUA相互调用
LUA是一种目前很流行的高效精简的脚本语言。LUA一个特点是比较方便的与C通讯。 然而要在脚本中使用C++类使用基本的LUA方法还是比较麻烦,纯手工暴露一个类的接口到LUA工作量还是很大的,而且都是一些简单的重复劳动。 好在有tolua++这个工具,可以让程序员从简单的重复劳动解脱出来。 tolua++包含两个部分,一个EXE,一个LIB,EXE用来通过package文件生成C函
2017-10-23 17:16:20
1266
转载 QtCreator调试传入运行参数-调试文件打开操作
默认文件用我们自己开发的软件打开调试配置 QtCreator是非常不错的IDE,最近在做的Qt命令行应用,因为调试的环境不同等问题,需要在调试的时候为 main() 传入参数。度娘了半天,没找到方法,只能自力更生。后来在“项目-构建和运行-运行”下找到了。 如果想在调试时为 main() 传入参数,只要将参数输入到上图红线中的“参数”栏即可。
2017-10-13 11:28:22
814
原创 Qt官方开发环境生成的exe发布方式--使用windeployqt
Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll, 如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。 因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。 以官方 Qt 5.4.0+MinGW 开发环境为例, 从开始菜单--》Qt 5.4.0--》5.4--》MinGW 4.9 (32-bit)--》Q
2017-10-13 10:41:30
328
原创 求全之路游戏技术支持
进过很长时间时间的努力,求全之路这款游戏终于上线了,为了玩家可更好的体验建立本帖,供玩家交流。如果您有任何问题可以回复本帖,我们会第一时间回复您。 或者请加qq群:134075137 再此对大家的支持表示万分感谢!
2016-04-05 15:19:45
434
原创 cocos2d-x android开发中获取玩家手机上的google账号用于绑定游戏账号
首先加入权限 代码实现部分 public void getUsername() { Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+ Account[] accounts = AccountManager.get(this).getAccounts(); Stri
2015-04-27 11:32:22
911
原创 coco2d-x游戏开发google play Google In-app-Billing 支付接入
android google play接入一样的操作借用了网上别人博客的部分 改正的一些错误,主要介绍 cocos2d-x google play 接入不一样的部分 如果没有GooglePlay此处附上安装Google Play的一键安装器的链接(需要Root权限):http://www.muzhiwan.com/com.muzhiwan.gsfinstaller-86095.html
2015-04-27 10:46:57
3418
转载 cocos2D-x游戏开发多线程
原创文章,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/9116479 cocos2d-x引擎在内部实现了一个庞大的主循环,每帧之间更新界面,如果耗时的操作放到了主线程中,游戏的界面就会卡,这是不能容忍的,游戏最基本的条件就是流畅性,这就是为什么游戏开发选择C++的原因。另外现在双核手机和四核手机越来越普遍了,是时候使用多线程来挖掘
2015-04-24 13:38:17
567
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人