自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

转载 NDK开发历程(一):android native code的调试方法

使用NDK在android上做开发是一件“痛并快乐着”的差事,之所以“快乐”是因为可以将一些原有的C/C++库直接移植到android上,而不需要用java再开发一套功能相同的库。然而这同时也是一件“痛苦”的事件,因为android本身是裁减过的linux,好些system call不能使用,另外由于没有采用glibc(用的是Bionic libc,原因见wiki),好些函数所在...

2013-02-22 17:48:00 412

转载 网络游戏服务器构架设计(四):云风的轨迹

最近闲着没事把云风的《开发笔记》看了个遍,希望能从大牛的开发轨迹中得到一些启发。但可能是因为本人level太低,一遍看下来还是云里雾里,不甚明白。没办法只好再看一遍,希望能对他们的服务器端架构有个简单的认识,这里同时做些笔记。 PS:本文是我个人对云风的开发笔记的读后感,可能会有很多错误,慎入! -------------------------------------...

2012-10-15 20:06:00 476

转载 网络游戏服务器构架设计(三):刀剑Online - 总控服务器、场景服务器

上一篇《网络游戏服务器构架设计(二)》介绍了刀剑Online的连接负载服务器CLS,博友提出质疑“说得不够详细,比如你怎么,场景服务器怎么才算一个场景服务器,场景服务器切换怎么处理不断线后连接另一个场景的,还有很多细节问题没有说到”,本篇就来介绍游戏服务器最为核心的部分:游戏逻辑服务器,同时也回答了这位博友的问题。PS:本篇的文章结构主要分两个部分,前半部分(2.2节)介绍刀...

2012-09-17 16:51:00 440

转载 网络游戏服务器构架设计(二):刀剑Online - 连接负载服务器CLS

本文并没有涉及什么逆向工程,只是拜读刀剑Online服务器端主程的文章后[1],想结合自己的经验谈一谈。PS:由于题目范围太大,本系列的前言做了一些限制。一、网络游戏服务器 要想设计好网络游戏服务器的构架,首先需要知道网络游戏服务器在玩家游戏过程中发挥什么作用。就我个人的理解:网游服务器在玩家游戏过程中扮演上帝的角色。玩家在服务器制定的规则下进行游戏,服务...

2012-08-20 20:48:00 294

转载 网络游戏服务器构架设计(一):前言

这篇blog题目涉及的范围真大!以至于在这里需要先写一篇前言把范围缩小。选择写这样一个系列的文章,主要是想给工作了两年的自己一个交代,或者说是一个阶段性的总结。两年时间里,房价依然再涨,工资依然跑不赢CPI,某人依然在仰望星空。期间很多梦碎了,很多还在坚持着,生活过得波澜不惊。而我也从刚毕业是的青涩逐步蜕变为“老油条”。不知道是一种悲哀、还是一种悲哀、还是一种悲哀....... ...

2012-08-14 21:14:00 138

转载 Unity3D修改模型的网格数据

模型导入unity后,可以使用unity的Inspector面板对模型在某个坐标轴上进行平移、旋转和缩放操作(如图1)。 图 1 Inspector面板提供功能是所见即所得的,调整后立刻可以看到效果,相当的方便。但是这些功能还不能完全满足游戏开发的要求,比如为了减轻美工的工作量一些游戏对场景中的模型标准作出了一些规定,使这些模块化的小模型能按照一定的规律拼接成丰富多...

2012-08-05 23:17:00 1575

转载 Unity模型导入的若干问题

最近房价涨得太快也懒得去看房了,空下来的时间看一下unity,发现unity3D-3.5版官方的AngryBots示例效果很震撼,就下了一个unity来玩玩。想把unity玩起来自然离不开model,面对3dsmax这些nb工具,作为一名服务器端程序员对此表示压力很大,无奈只能求助谷哥找一些model。 废了九牛二虎之力后把model从3dsmax导入unity,把模型...

2012-08-01 01:00:00 947

转载 魔兽争霸war3:模型相关细节介绍

warcraft是非常经典的游戏,而由warcraft衍生出来的各种玩法(dota、3C以及各种剧情版的war3游戏),同样是经久不衰。这些得益于warcraft的牛逼编辑器。 不管是策划还是玩家都梦想着有一套功能强大且使用方便的编辑器来实现自己想法,而WorldEditor(简称WE)就是这样的编辑器。WE应该是本人见过的最强大的地图编辑器(没有“之一”),这种强大...

2012-07-19 17:57:00 1454

转载 VPS和云主机的选购指南

朋友想搭个网站玩玩,找我帮忙找一个公网的空间,需要独立ip,最好是双线的。按照他的需求,想了几种方案,这里做个记录,以后自己闲淡的时候也可以搞一个玩玩。购买空间购买独立的IP购买VPS、云主机一、购买空间 在公网搭网站最简单的方法就是购买成熟的公网空间。这些webhost的提供商往往是按照开发语言、开发架构的不同来提供对应的虚拟主机...

2012-05-14 16:19:00 620

转载 AutoTools使用小记

壮族小伙看代码喜欢运行起来看,什么源代码都先想办法跑起来再仔细研究。最近遇到困难:网上流出的天龙代码是VS2010的工程,编译没问题但运行的时候缺少FoxScriptEngine.dll的动态库,翻了一下工程发现只有FoxScript.h的头文件,没有对应的实现。lua脚本这块的载入运行需要这个动态库,没有这个动态库程序没法运行。静态的看代码那个苦呀,于是在网上一通乱找,找到li...

2012-03-09 14:33:00 156

转载 网游服务器端设计思考:时间服务(二)需求

网络游戏服务器端对时间的需求可以说是无处不在的,小到技能的冷却、技能的释放时间、物品使用的冷却、怪物的死亡重生、掉落物品的存在时间,大到节日活动的开启、boss怪的精确出生、周任务日任务的准点开始等等。而这些对时间的需求都依赖于服务器端提供的时间服务的实现,因此时间服务、时间控制模块在网游服务器端设计中是占有比较重要的地位。 本系列的第一篇《时间服务(一)序言》也描述了...

2012-03-04 00:06:00 204

转载 网游服务器端设计思考:游戏的错误提示

在网络游戏中常常会出现这样的情况,玩家在进行一些操作的同时是不能进行另一些操作的。比如说:正在移动的玩家不能释放带有吟唱的技能;死亡时不能交易;不能同时和两个玩家进行交易;不同阵营不允许交易等等。而很多需要交互的操作(比如交易)当一方取消或异常操作时,服务器会撤消双方的操作,并通知双方撤消的原因。在这就会面临一个问题,应该使用什么方式来通知客户端这些错误? 在设计游戏错...

2012-02-24 17:39:00 157

转载 网游服务器端设计思考:时间服务(一)序言

网络游戏服务器端对于时间的需求很多,有些需求依赖于相对时间,比如开始采矿——需要随后几秒时间让客户端播动作。有些需求依赖绝对时间,比如只在2012年12月21日开启“末日之旅”的活动。正是由于有众多需求对时间有依赖性,使得时间服务、时间控制成为服务器端模块设计中较为重要的一部份。本系列将从游戏开发需求出发,循序渐进的介绍时间服务模块的设计和实现。 Attention:本...

2012-02-13 23:26:00 123

转载 网游服务器端设计思考:心跳设计

网络游戏服务器的主要作用是模拟整个游戏世界,客户端用过网络连接把一些信息数据发给服务器,在操作合法的情况下,更新服务器上该客户端对应的player实体、所在场景等,并把这些操作及其影响广播出去。让别的客户端能显示这些操作。 在这个模拟过程中,需要解决的一个重要问题是:多长时间处理(更新)一次该服务器上的待处理事件,体现在实际开发中,这就是一个服务器端的心跳设计问题(ti...

2012-02-10 17:37:00 373

转载 MaNGOS-Zero源码学习之mangosd(三):WorldSession服务器会话

上篇《socket的处理方式》介绍了mangosd是如何接收和管理socket的,而在MaNGOS中客户端的所有游戏操作都是通过消息传递与游戏逻辑服务器进行交互的,比如玩家角色移动,与NPC对话,领取任务,释放技能等等。 消息传递在mangosd上以会话的形式维护,在客户端通过服务器的验证之后,mangosd会主动建立并保持一个与客户端连接的会话。所有的消息传递在该会话...

2012-01-10 16:15:00 253

转载 MaNGOS-Zero源码学习之mangosd游戏逻辑服务器(二):socket的处理方式

本篇将介绍客户端与游戏逻辑服务器连接建立以后,mangosd如何接收、解析和处理客户端发过来的协议。本篇不再讨论mangosd与客户端的认证及建立最终RC4流加密的过程,想了解这部分内容请看该系列的第一篇。一、acceptor socket的监听启动及注册 mangosd的main ()函数调用单例对象sMaster的Run ()函数,启动监听socke...

2011-12-24 19:05:00 232

转载 MaNGOS-Zero源码学习之realmd认证登录服务器(二):socket的处理方式

在MaNGOS-Zero中使用ACE库来处理网络IO,先看一下realmd工程下的Main.cpp。经过简化后main()函数中和socket相关的代码可以表示为: 1: int main() 2: { 3: ......... 4: 5: ACE_Reactor::instance(new...

2011-12-10 18:10:00 193

转载 MaNGOS-Zero源码学习之mangosd游戏逻辑服务器(一):登录认证及建立连接

mangosd是MaNGOS-Zero项目中的游戏逻辑进程,玩家一旦与realmd的keyexchange过程完成后(详细内容见《realmd认证登录服务器(一):认证登录基本流程》),便只与mangosd进行交互。而客户端与realmd的连接也会在客户端向mangosd发送enterworld之后断开。 本文将介绍客户端连接到mangosd后,mangosd认证客户端...

2011-11-26 19:48:00 537

转载 MaNGOS-Zero源码学习之realmd认证登录服务器(一):认证登录基本流程

在MaNGOS-Zero中认证登录服务器是已独立的进程存在的,名字叫realmd,这样命名可能是和游戏client端根目录下的realmlist.wtf文件相对应。realmd的主要工作是:检查登录用户的合法性,并在合法的情况下完成通信密钥的交换,最后把游戏逻辑服务器的地址信息列表传给client端。 realmd认证的基本流程如下:图中的(1)~(7)详细过程...

2011-10-30 20:36:00 478

转载 MaNGOS-Zero编译注意事项

最近周末咸蛋,抽时间看了一下传说中的开源WOW服务器模拟器,虽然只看了登陆认证这块,但感触颇多,兴起随便写写。 MaNGOS的介绍如下:What is MaNGOS?The mangos project is a full featured World of Warcraft server suite, including servers for authe...

2011-09-17 16:47:00 234

转载 一年了………

博客已经一年没更新了…………庆幸的是paxos和OCI的博文居然还在google的第一页。想想真是惭愧,开博是准备要写的内容“memcached分析改造、分布式、paxos算法、线程池”只完成了paxos算法的解析,而且还是basic paxos,唉!只能找个普适的借口——“忙啊”,这年头谁不说自己忙,在这一年里忙着答辩、忙着毕业、忙着散伙、忙着来帝都、忙着入职、忙着实习、忙着任务、...

2011-06-26 21:24:00 174

转载 OCI编程历程

前几天和哥们聊天,谈到连接数据库及一些数据库调用接口的开发问题。那哥们直接来了一句:“那东西没什么搞头,就调用些函数,然后做些错误处理”……… 我很是郁闷,回想起来实习时第一个能拿得出手的程序就是对OCI10封装库,当时为了测试效果一个人在机房里呆了一个多月,每天不停的拔网线。后来还把这个封装库写在简历中项目经历的第二项。虽然现在看起来封装得有点幼稚,但还不至于一文不值。把我憋个...

2010-04-16 20:40:00 326

转载 业余团伙的业余开发生活

实习时组里的老大兼老师看我写blog很high,即兴发挥写一篇文章,记录我们小团伙的开发生活。老大经历丰富:玩过摇滚,当过穴头,组过乐队,扛过电脑,焊过机架,办过公司,躲过雷达,热爱音乐,喜欢军事。一群人聚在一起的时候,他总是能调动起话题。虽然现在早过而立,但对技术依旧十分的痴迷。虽然现在丰衣足食,但仍坚持每天读书学习。 本文基本是在调侃和扯淡。写着玩的,只希望在若干年...

2010-04-08 14:32:00 111

转载 分布式一致性Paxos算法学习笔记(四):算法回顾

这段时间一直在赶论文,唉,真是昏天黑地……… 在写论文的时候居然把Paxos算法里的提案和决议搞混了!赶紧看blog里是不是也弄错了,还好之前的几篇都没错,这才松了口气。所以决定第四篇笔记对Paxos算法做个回顾。 1. 几个重要的概念 实例(instance):每一个Paxos的实例都将执行Paxos算法的两个阶段过程,并最终选出唯一的决议(value...

2010-04-05 20:52:00 135

转载 我和Fourier有个约会

回家一个多月,这里杂草丛生。已经两个月没有更新blog,本想继续写paxos的文章,插好键盘开了个头,发现状态全无……想了想还是写傅里叶变换,经过一番深思熟虑后,想出这么俗的一个题目。 说起和Fourier的结识,那还是在07年的秋天…… 一个对未来充满憧憬的研一傻小子,碰上一个很有实力又特能忽悠的老师——刘XX,不说这两人能擦出火花,最起码是挺合拍的。傻小子稀里糊涂的...

2010-03-06 22:02:00 71

转载 分布式一致性Paxos算法学习笔记(三):算法的工程化描述

前两篇学习笔记给出paxos算法较为详细的文字描述。如果对算法的两个阶段四个过程的定义还不太了解可以点击这里,这段文字出自夏超伦的论文,描述在算法的两个阶段里proposer、acceptor、learner三个角色需要完成什么工作。可惜小夏同学并没有描述得很详细,我在编码实现的时候发现有很多重要的细节没有提到,proposer pick a value这么重要的过程都没有写.........

2010-01-01 01:10:00 131

转载 分布式一致性Paxos算法学习笔记(二):算法详解

阅读本文前最好能先阅读参考文献[2]。最近在写毕业论文,导致这边学习笔记也写得很生硬........ 大家轻拍。文章为本人对paxos算法(basic paxos)的理解,水平有限难免有理解不到位的地方,欢迎批评。 一、简介1.1Paxos算法处理的问题 Paxos 算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。一个典型的场景是,在...

2009-12-29 11:29:00 180

转载 分布式一致性Paxos算法学习笔记(一):paxos大杂烩

取名 Paxos(Greek: Παξοί,pronouncedPaksi in English)又名Paxi是希腊西南部一个风景如画的小岛。而Paxos算法则是现在很火的分布式一致性算法,为何以一个希腊小岛名字算法?Lamport这样解释道:I thought, and still think, that Paxos is an important alg...

2009-12-29 09:46:00 190

转载 【转载】35 个你也许不知道的 Google 开源项目

Google是支持开源运动的最大公司之一,它们现在总共发布有超过500个的开源项目(大部分都是利用它们的API来完成),本文将列举一些有趣的开源项目,其中很可能有不少你不知道的哦。文本文件处理:Google CRUSH (Custom Reporting Utilities for SHell)CRUSH是为命令行或shell scripts处理特定文字数据而制作的一系...

2009-12-29 00:40:00 173

转载 GPL vs. BSDL

GPL vs. BSDL: Richard M. Stallman 之所以是自由软件界的精神领袖,除了他发起了 GNU 计划之外,个人认为他为了 GNU 而撰写的 GPL 更是决定性的因素.GPL 是一种偏向于开发者的回馈条款:使用者可以自由运用 GPL 程序代码,但所有修改必须也以 GPL 开放,让所有人(包括原始程序设计者)都能受益.这是能确保程序代码永远能让所有人自由使用的终极...

2009-12-28 23:12:00 99

转载 【转载】评论:从射手QQ之争看开源许可证的选择

转自:http://www.cnbeta.com/articles/100413.htm 在射手播放器和QQ影音为GPL吵得不可开交的时候,CBer应该少一些无知的谩骂,多学习一下开源许可证的基本知识。要骂也要骂到点子上,别不分是非,指着别人脚骂别人鼻子。在中国这样一个几乎完全不尊重版权,开源软件处于萌芽发展的国家,开源是一个及其冒险的选择,你做出的产品顷刻之间便会被人抄袭。在中国,选...

2009-12-28 23:11:00 95

转载 Buffer和cache的区别是什么?

buffer和cache是两个经常被混为一谈的概念。从直观上说,两者都具备改善系统 I/O 吞吐量的能力,但是这两个概念是有区别的,其提高系统I/O吞吐量的原因也不尽相同。 cache改善系统性能的主要原因是数据访问的 局部性,即,通常应用程序在一段时间内操作的数据集的某个有限的部分,通常是很小的一部分。硬件实现的cache通常会只使用一小块(与主存相比)访问速度很快,但相对比较昂贵的...

2009-12-28 23:10:00 82

转载 【转载】那个叫鲁迅的终于从教科书里滚蛋了

近来,由于人民教育出版社在新版语文教材中逐步剔除鲁迅的文章,引来一片争议,赞者有之,阻者有之。而笔者认为,在近年来对鲁迅话题经历了沉默、回避、冷淡的过程后,现在让其滚蛋,已经是时候了。 鲁迅之所以滚蛋,是因为那些曾经被其攻击、痛斥、讥讽、怜悯的人物又一次复活了,鲁迅的存在,让他们感到恐惧、惊慌、卑怯,甚至无地自容。 看看: 孔乙己们复活了。并且以一篇《‘茴’字有四种写法》...

2009-12-28 23:09:00 175

转载 [转载]Paxos算法在大型系统中常见的应用场景

在分布式算法领域,有个非常重要的算法叫Paxos, 它的重要性有多高呢,Google的Chubby [1]中提到all working protocols for asynchronous consensus we have so far encountered have Paxos at their core.关于Paxos算法的详述在维基百科中有更多介绍,中文版介绍的...

2009-12-28 20:57:00 79

转载 开博了!!!!!

找工作告与段落,堕落一个月,狂玩了一周老人游戏cs后,无聊之极决定开博。 开博了,为了记录那些不愿忘记的事和曾经奋斗过的时光。随后将奉上这两年的学习笔记:memcached分析改造、分布式、paxos算法、线程池.........尽请关注! 哇哈哈转载于:https://www.cnblogs.com/ychellboy/archive/2009/12/28/163421...

2009-12-28 16:19:00 81

空空如也

空空如也

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

TA关注的人

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