自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (2)
  • 收藏
  • 关注

原创 游戏服务端开发浅谈(二)

本系列准备重点介绍MMO游戏,之前本来打算把卡牌游戏简单介绍下,但是经历过MMO游戏开发之后,发现MMO游戏的架构可以适用于很多类型的游戏。本文先介绍支持单服支撑2万人以下的经典架构。学习不能好高骛远,当把经典的传统架构学好之后,再去思考支持百万在线的架构,很多疑惑将会迎刃而解。这套架构是比较经典的,许多MMO游戏依旧在使用该架构。大部分MMO游戏,就是新服的时候会涌入较多的人,当旧服生态稳定...

2019-11-23 16:56:33 1435

原创 点到矩形的最近的点

哈哈,好久没更新博客了,最近一直比较忙,之前有空的时候,忘了更新博客这事。游戏浅谈,等有空开始更新,准备把MMO游戏的经典架构(只需要支持2w同时在线)和分布式架构(可支持百万同时在线)写一写。最近发现自己的数学都还给老师了,然后刚好碰到一个需求,顺便把高中知识复习下(捂脸)。很多3D游戏,为了简化逻辑,其实在服务器上,把高度忽略了,只处理2D的情况,所以这样降低了问题的复杂性。我们在游戏...

2019-10-27 18:56:26 2041

原创 游戏服务端技术路线

第一,选择什么样的架构。不同的游戏适用不同的架构。卡牌游戏架构、MMO游戏架构、MOBA游戏架构、FPS游戏架构第二,选择单线程还是多线程。操作系统的同步与异步,进程与线程。第三,如何在游戏中使用脚本。lua语言、lua与C、C++的交互第四,如何处理网络通讯。消息队列(zmq等)、epoll(libevent等)两种处理方式:一种是跟游

2017-11-22 18:04:32 2127

原创 游戏服务端开发浅谈(一)

去年从传统软件公司辞职,下定决心转互联网,由于对游戏的热爱,去了一家游戏公司,待了将近10个月,参与开发了一款动作卡牌手游,游戏最终也上线了。最近抽空写写过去对游戏后端的一些感想吧。最近又去另外一家游戏公司,参与开发一款MMO手游。准备开始从动作卡牌手游谈到MMO手游,也算是对游戏开发的一些感悟。动作卡牌游戏,相对而言,时延性要求没有那么高,所以架构没有那么复杂,不过也是值得学习的。本文重点介

2017-06-19 22:52:47 17324 3

转载 linux epoll 模型详解

在 linux 的网络编程中,很长的时间都在使用 select 来做事件触发。在 linux 新的内核中,有了一种替换它的机制,就是 epoll 。相比于 select , epoll 最大的好处在于它不会随着监听 fd 数目的增长而降低效率。因为在内核中的 select 实现中,它是采用轮询来处理的,轮询的 fd 数目越多,自然耗时越多。并且,在 linux/posix_types.h 头文

2016-04-14 21:41:06 479

原创 基于的epoll模型的简单http服务器

epoll模型主要有2种工作方式:水平触发(LT)和边缘触发(ET),本文主要是关于边缘触发的。本文实现的epoll多线程模型主要是,主线程等待事件触发,然后把相关事件放入队列,线程池从队列中取出数据处理事件。

2016-04-14 21:13:50 2045

原创 基于Leader/Follower模式的C++线程池

领导者/追随者模式,具体来说,设计一种线程池机制,每次只让一个线程(领导者)等待队列不空,其他线程(追随者)排队成为领导者。从队列中取到任务后,当前领导者首先将一个追随者线程提拔为新的领导者线程,再扮演处理线程角色。当前领导者线程等待队列的元素入队时,可能有多个处理线程同时处理任务。处理完任务后,处理线程再次番禺追随者线程的角色,等待再次成为领导者线程。要将追随者线程提拔为领导者线程以及判断当

2016-04-14 16:44:43 2164 1

原创 一点感想

最近从一家国企刚辞职,状态不是不好,休息了半个月,准备换个城市,想去深圳。毕业将近2年,每天都是写业务代码为主。离职的理由也很简单,想换个好点的环境,追求更高的平台。2年来,可以说工作完成的不错,但是技术水平却没什么提升。计划看完的书,每本只看了几十页到一百多页。前段时间也面试了2到3家,发现了自己的薄弱环节。毕竟从一个传统的软件行业跳到互联网行业也不是非常容易的,何况我的网络基础差了点,唯一

2016-04-13 12:43:22 400

原创 Linux C++ 文件操作

linux下文件操作有很多库函数,但是大部分库函数不支持递归操作,如创建目录不支持递归创建,删除文件不支持递归删除。一般情况下,如果对性能要求不高的话,可以调用函数system()来执行shell命令。system()函数原型如下:#include int system(const char *cmdstring);函数源码如下;

2015-02-03 20:38:08 811 1

原创 Linux定时器

Linux提供了2个函数来实现定时器功能:alarm函数和setitimer函数。    1、alarm函数如果对定时要求不太精确的话,使用alarm()和signal()就行了。函数原型:unsigned int alarm(unsigned int seconds)#include #include #include void time_handler(int

2015-01-10 23:07:34 515

TCP/IP详解3卷(全)

一本经典的网络入门书籍,网络编程必看。

2016-05-26

贪吃蛇小游戏MFC实现(VS2010)

自己做的简单的小游戏贪吃蛇,有选关、音乐播放等功能

2013-03-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除