网游服务器开发
文章平均质量分 79
soft2967
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ace为网络底层的网络架构
一个ace为网络底层的网络架构 去年写的,使用ace做底层的服务器网络架构,代码构建使用cmake工具,代码可运行在linux和windows2个平台上。CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性。使用使用cmake很容易生成win原创 2012-08-19 11:12:26 · 1472 阅读 · 2 评论 -
linux系能分析和瓶颈查找
何为负载? 1.在top里输出loadaverage aa bb cc或者 cat /proc/loadavg,在一定时间内进程平均等待时间,如果这个参数值高,说明系能负载高. 2.进程为什么会等待执行? 多任务的OS,进程执行都是分时被调度 A-B-内核-A 过程 进程的状态(ps auxw) 1.TASK_RUN(可被调度运行) ,2.可中断等待(长期时间原创 2015-05-27 16:08:36 · 1927 阅读 · 0 评论 -
TCP封包粘包半包
TCP-IP详解卷1第17章中17.2节对TCP服务原理作了一个简明介绍(以下蓝色字体摘自《TCP-IP详解卷1第17章17.2节》):尽管T C P和U D P都使用相同的网络层(I P),T C P却向应用层提供与U D P完全不同的服务。T C P提供一种面向连接的、可靠的字节流服务。面向连接意味着两个使用T C P的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先转载 2014-09-16 14:15:25 · 1988 阅读 · 0 评论 -
网络服务器开发总结
一、概述经过多年网络服务器开发实战,于此总结实践体会。本文涉及到异步连接、异步域名解析、热更新、过载保护与网络模型及协程等,但不会涉及到accept4、epoll等基本知识点。二、可写事件相信大多数初学者都会迷惑可写事件的作用,可能觉得可写事件没有什么意义。但在网络服务器中监听并处理可写事件必不可少,其作用在于判断连接是否可以发送数据,主要用于当网络原因暂时无法立即发送数据时监听。原创 2014-09-23 13:49:56 · 5268 阅读 · 0 评论 -
boost在linux下编译
zui'jboost编译#tar xvzf boost_1_54_0.tar.gz#cd boost_1_54_0./bootstrap.sh#./b2 install --prefix=/usr/local原创 2014-09-11 14:38:03 · 791 阅读 · 0 评论 -
VS下真机调试android native app(以cocos2dx手游为例)
0.虽然使用手游为例,但适用于任何原生C++ NDK编译方式。1. 先说说项目背景, cocos2dx的手游,开发一般在windows vs下开发调试,IOS下使用xcode也能很方便的调试,但android就没那么幸运了,一般调试就靠log来分析问题,总觉得效率低下。调试原生的android程序adb ,cygwin gdb-ndk,ecplise下android native app也原创 2014-08-18 16:19:41 · 13327 阅读 · 5 评论 -
数组链表
/*数组:在删除的时候需要移动数组元素开销大链表:无法使用预先分配固定内存,并且无法使用索引方式在O(1)复杂度下删除数组链表优点:1.在插入O(1),删除的复杂度都是O(N),带索引删除复杂度为O(1)2.并且可以预先把需要的内存分配好*/class CAList{public: CAList(unsigned int Count,unsigned int Elem原创 2013-08-25 21:48:21 · 5919 阅读 · 0 评论 -
游戏后台里的通用技术之二分查找和排序
//通用二分查找//key带查找的key//base数组的起始地址 (数组必须为已序)//count数组元素个数//vsize 一个元素内存大小//equ == 1 equ为1时, 返回找到等于key的索引, equ为0时, 找到第一个小于key的值 //compar用户自定义函数 compar返回 0 key > mid int BSearch(void* key,con原创 2013-04-06 18:58:25 · 924 阅读 · 0 评论 -
游戏后台之高效定时器-时间轮
尽请期待原创 2013-07-08 18:29:37 · 7946 阅读 · 0 评论 -
游戏后台之高效定时器-最小堆
。原创 2013-07-18 22:09:10 · 1423 阅读 · 0 评论 -
时间和game后台
1.计算机"时间"的概念,世界时间和本地时间世界时间:简单的时候就是不同国家的日出、日落时间必定有所偏差,这些偏差就是所谓的时差。所以需要一个统一的时间作为各国的换算标准,根据世界时间和时差换算成本地时间。整个地球分为二十四时区(一天24小时嘛),每个时区都有自己的本地时间,北京时间是UCT时间加上8小时而UCT就是世界时间,UCT+8就是我们的本地时间2."时间"在游戏后原创 2013-03-24 12:39:06 · 1739 阅读 · 0 评论 -
游戏后台里的通用技术之异步处理和回调
.什么是回调函数?回调在不用的语言可以用不同的实现手法,比如C/C++一般使用函数指针,C#这类没有指针的语言可以使用委托,回调的本质上是先用函数指针存储函数的地址,在处理完某个事件/或者满足某个条件的时候调用函数来处理。2.为什么需要回调了?在game后台很多处理需要异步的经行,这样才能保证后台程序的高效性。既然需要异步处理,那就是在某个时间点后或者满足某个条件后调用预先原创 2013-03-10 22:22:47 · 1993 阅读 · 0 评论 -
游戏后台里的通用技术之环形缓冲区
1.什么是环形缓冲区?环形缓冲区一般是一段连续的buffer空间,空间可以是new或者使用vector分配,这些空间对计算机来说是线性的,但我们在读取或者写入的时候需要%来计算读写的位置,这样就抽象成环了。2.什么时候用环形缓冲区game的后台通常是几个程序来组成一个集群。这样几个后台进程必然需要通信。比如下面一个简单的结构 client--------- 接原创 2013-03-31 20:55:28 · 1326 阅读 · 0 评论 -
游戏后台Cache技术和运用
///////////////////////////////////////////////////////////////////////////*1.为什么需要cache,有那些好处?从下面几点考虑后台程序会创建大量的对象,也就是动态分配内存,通常的做法是new XXX。然后在不用的时候在delete XXX。这样new和delete会消耗一定cpu,最重要的是在长期ne原创 2013-01-28 22:15:24 · 1112 阅读 · 0 评论 -
游戏场景管理
先说明几个问题1) 地图是原点是在左上角(0,0),从左向右是X轴的递增,从上到下是Y的递增。2) 根据ZONE的大小把整张地图分割为一个个相连的ZONE,大小根据需求定,我们定为600*400(客户端最大屏幕 1600 * 900)3) 分完之后地图就是这个样子了(每个数子就是一个ZONE,9宫格的一个格子) 0 1 2 3 4 5转载 2013-01-22 23:29:09 · 1005 阅读 · 0 评论 -
游戏后台设计考虑点(来自工作实践中的一些经验)
游戏后台设计考虑点1.系统核心设计 架构,整个服务器大区的架构设计 服务器机型选择,考虑成本和性能的性价比 合理划分进程,保持系统简单2.扩展性 从10几万到百万能否轻松的平滑扩展 (如架构扩展,系统32到64) 需求不断变化,数据是否能平台升级,如数据库3.安全性 防止崩溃,防止恶意攻击 有没有单点故障4.自动化运原创 2013-01-22 23:27:17 · 2778 阅读 · 0 评论 -
node.js+cocoscreator自研斗地主游戏
@TOC欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全...原创 2019-09-13 23:05:40 · 17807 阅读 · 45 评论
分享