自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(7)
  • 收藏
  • 关注

转载 Erlang单服游戏开发记录5

在对游戏进行测试时,发现在某台服务器上,经常会出现一个错误,而其他服务器表现正常,于是分析日志文件,发现以下错误:{badarg,[{erlang,is_process_alive,[<6703.38.0>],[]}检查代码后,发现错误发生在如下的情景下:玩家连接tcpserver,tcpserver产生玩家状态机实例,然后在状态机中rpc...

2012-11-12 15:41:00 135

转载 erl命令行运行问题

最近在使用idea进行一些开发,之前都是在ide里写代码,运行均是手动在shell中,在idea里尝试直接运行,实际上相当于在命令行中使用-run 或-s ,却发现有2个问题。1、使用io:format输出时,和shell中的结果不一样。-s:ddd["1"]shell:ddd12、使用递归函数时,报参数匹配错误{badarith,[{tc,a,1,[{file,"f:/qinyux...

2012-11-01 14:22:00 883

转载 Erlang单服游戏开发记录4

为了验证高并发下gen_server的处理性能,写了一个测试程序,如下:1-module(testserver).23-behaviour(gen_server).4-export([start_link/0]).567-export([init/1,handle_call/3,handle_cast/2,handl...

2012-10-25 10:32:00 120

转载 Erlang单服游戏开发记录3

前面分析的几种情况,归纳一下,其实就是一种,一个提供服务的gen_server,自身处理的时间本来在一个很低的范围内,但由于高并发带来的消息队列,造成处理的时间成几何级数增长,goolge了一下,没找到相关的内容,只能自己做一些细节上的努力。1、gen_server中收到消息后,只进行必要的处理,将广播消息放入新进程中处理,虽然增加了整个游戏的进程数,但这也是erlang的推荐方式,但同...

2012-10-25 09:45:00 100

转载 Erlang单服游戏开发记录序

最新的一个游戏项目,是一个单服游戏,也即整体游戏只有一个服,也代表着它需要一个高在线,高并发的服务端。游戏本身的结构很像一个棋牌类游戏,拥有大厅、房间等概念,也可以看做类似C9一样的房间内战斗的RPG游戏,玩家选择一个频道(大厅)进入,同在一个频道的玩家才能互相看到以及组队,但不同频道的玩家仍然数据是相通的,可以进行查找、聊天等活动,也有一些所有玩家数据都会参与的计算,比如排行榜之类的。...

2012-10-25 09:31:00 93

转载 Erlang单服游戏开发记录2

经过一段时间开发,大部分功能已经完成,开始了性能测试以及调优,遇到一些性能热点:1、主游戏服务由于每个玩家是单独的状态线程,表现良好,但其中的一个玩家数据管理服务(主要提供查找以及广播)出现了调用超时。2、大厅的数据管理服务(主要提供查找以及动态创建、销毁)出现了调用超时。3、数据服务出现了调用超时。以上测试均在开启了5000个玩家机器人,每秒并发200-300时进行。而超时错误一...

2012-10-25 09:30:00 67

转载 Erlang单服游戏开发记录1

首先在架构设计上,利用Erlang的特点,采用分布式构成,分为4个节点:数据服务、房间、大厅、主逻辑处理。其中:数据服务:提供对数据库的读写操作。房间:通过一个房间管理器,动态的创建、管理房间。大厅:通过一个大厅管理器,动态的创建、管理大厅。逻辑:也即游戏主服务,socket管理,玩家数据管理。数据库选用了mongodb,主要原因是性能比较高,不需要添加缓存层,还有一个是支持接近sql的...

2012-10-25 09:12:00 117

空空如也

空空如也

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

TA关注的人

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