`
Seto
  • 浏览: 10446 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

ProjectDarkstar的Slipstream框架Message模块的改进

阅读更多
从现在项目的开发中发现,目前Slipstream的Message模块有点重量级,可以从这么几个地方来改进..首先,目前的MessageService是通过handler.lst列表的方式来找到对应Message的Handler,那么这个无疑加重了程序开发中的复杂程度,一个游戏,不下三四十个OPCODE是家常便饭,那么开发的复杂程度就会加大..
因此,参考JPA的实现,作出如下改进:参考Hibernate的EntityManager中packaging包里的实现,采用JarVistor+Scanner的形式进行自动发现..
同时加入@MessageCreator,@MessageDecoder等Annotation,对开发进一步进行简化,减少对接口的依赖,并且采用Annotation的形式更易于去开发,也能对轻量级实现的时候每个Message就只写在一个类当中..
其次,引入ServerHandler和ClientHandler的概念,因为像我们开发永恒之塔的模拟器当中,服务器和客户端消息的封装机制是不一样的..
接着,加入@MessageProcessor,给对应GameProxy的每种消息提供默认实现..在GameProxy中引入boolean handleMessageImpl(Message msg),那么对handleMessage就能作出如下改写
void handleMessage(Message msg){
if(handleMessageImpl(msg)) return;
//the code for finding default processor
//...
}

然后这样就能支持自定义处理和默认的处理,既能方便开发中的自定义对信息的处理,又能支持默认的实现..那么在开发过程中就能大大的简化..

今天就说这么多,意图只是抛砖引玉..
希望更多的人爱上使用Project Darkstar进行开发..
有人跟我说过,要建立个Project Darkstar的圈子..我何尝不想呢,只是JE规定只有原创该方向文章超过10个才能建立..我又不愿意胡乱写10个文章,为的是给大家提供的都是开发当中遇到的种种问题和具体的解决方法..

以后开发当中有其他的开发的遇到的问题和解决之道,会在这里跟大家分享..
还有就是小弟马上面临大学毕业了,还没找到工作,因此想和几个志同道合的同学创业,谁知道关于现在建立公司和网游方向的东西..希望能指导一下小弟..
分享到:
评论

相关推荐

    project darkstar 中文文档

    **项目暗星(Project Darkstar)**是一款开源的游戏服务器框架,专为实时、多人在线游戏设计,它提供了高性能和可扩展性的解决方案。由于其在中文社区中的知名度相对较低,相关资源稀缺,使得开发者在学习和使用过程...

    Project+Darkstar服务器开发指南

    2. **模块化设计**:Project Darkstar的组件化设计允许开发者根据需求选择或定制特定的功能模块,如身份验证、计费系统、游戏逻辑等,增强了系统的灵活性和可扩展性。 3. **分布式处理**:支持水平扩展,可以通过...

    Project Darkstar属性文件配置

    `Project Darkstar`是一款高性能、高可用的游戏服务器框架,主要用于支持大规模多人在线游戏。本文档将详细介绍如何配置`Project Darkstar`服务器的属性文件,包括配置文件的基本结构、常用配置项以及如何根据不同...

    ProjectDarkStar与Ecplise集成.doc

    本文将详细讲解如何将Project DarkStar(PDS)这一高性能的游戏服务器框架与Eclipse IDE集成,从而实现无缝的开发环境。 首先,集成的前提条件至关重要。确保你已经安装了JDK 1.6或更高版本,这是Java开发的基础。...

    Project Darkstar客户端开发指南(java)

    ### Project Darkstar客户端开发指南(Java) #### 简介 本指南旨在为开发者提供一套详尽的方法论,帮助其构建能够与Project Darkstar Server (PDS) 交互的客户端应用。PDS 是一个高性能、分布式的游戏服务器平台...

    Project Darkstar服务器开发指南

    标题《Project Darkstar服务器开发指南》和描述表明这篇文档是面向开发者的,它将指导读者如何构建游戏服务器并运行在Project Darkstar(PDS)系统上。PDS系统是一个专门用于游戏服务器开发的平台,文档中提供了相关...

    Project_Darkstar服务器开发指南

    Project Darkstar是一个开源的游戏服务器框架,它提供了高性能、可扩展的网络服务,适用于创建分布式游戏环境和其他实时交互应用程序。 在开始之前,我们先来了解Project Darkstar的核心特性: 1. **高并发处理**...

    Project Darkstar Server with SSL-开源

    总的来说,Project Darkstar 服务器结合SSL/TLS 提供了一个安全、可靠的框架,用于构建大规模的多人在线游戏和服务。通过理解和利用这个平台,开发者能够专注于游戏逻辑的创新,而无需过于担忧底层的网络安全性。

    Project Darkstar Client with SSL-开源

    总之,"Project Darkstar Client with SSL" 提供了一种强大的工具,允许开发者在保护用户隐私和数据安全的同时,利用Project Darkstar平台的高性能和可扩展性。通过参与开源社区,开发者不仅可以获取到这个强大工具...

    darkstar server zip

    "Darkstar Server" 是一个专为游戏开发设计的开源服务器框架。这个压缩包"darkstar server zip"包含了Darkstar Server的安装程序以及相关的说明文档,帮助用户理解和部署这个服务器平台。下面将详细介绍Darkstar ...

    darkstar,sun公司的游戏平台,2008年1月发布

    总的来说,Darkstar是Sun公司在游戏领域的一次大胆尝试,它融合了Java技术的优势,提供了强大的多人游戏开发框架。尽管它最终没有成为市场主导,但其创新精神和前瞻性理念无疑对后来的游戏开发工具和服务平台产生了...

    darkstar-as3-0.9.8.

    在AS3社区中,Darkstar AS3提供了高效且灵活的游戏服务器框架,帮助开发者构建实时、多人在线的游戏应用。 在AS3中,通常我们用Flash Professional或Flex Builder等工具进行开发,而Darkstar AS3则主要关注后端逻辑...

    DarkStar-开源

    DarkStar的开源性质意味着任何人都可以查看其源代码,学习其设计思路,甚至参与改进和扩展。这样的开放性促进了技术的传播和创新,也是开源软件的一大魅力所在。对于开发者来说,无论是学习还是实践,DarkStar都是一...

    RedDwarf Server Android Client-开源

    适用于RedDwarf Server(以前称为Sun的Project Darkstar)的Android客户端api。 它主要基于Karel Herink的JME客户

    Pentagaia - Toolbox-开源

    Java游戏服务器的工具箱。 该项目扩展了由Sun Microsystems编写的开源游戏服务器“ project darkstar”。 它提供了一些有用的工具,例如telnet管理,对象浏览,网络服务的基类。

    darkstar:已弃用-FFXI服务器仿真器-请参见Topaz项目

    "暗星"(Darkstar)曾是一个备受瞩目的项目,它是一个针对网络游戏《最终幻想XI》(Final Fantasy XI,简称FFXI)的服务器仿真器。然而,根据提供的信息,自2020年4月25日起,这个项目已被官方宣布弃用,取而代之的...

    sgs-server-dist文件

    总的来说,"sgs-server-dist"文件是一个用于构建和运行游戏服务端的强大工具包,它基于Darkstar框架,提供了完整的服务端解决方案,可以帮助游戏开发者快速构建稳定、高效的游戏后端环境。通过对这个包的深入学习和...

    darkstar-cordova-plugin

    DarkstarUploadServiceClient 这是一个cordova插件,它为Web应用程序提供了一种使用Messenger类与后台服务进行通信的方式安装在... cordova plugin add https://github.com/superdecimal/darkstar-cordova-plugin

    如何使用Project server 2007中的预算资源

    在Microsoft Project Server 2007中,管理预算资源是项目规划和控制成本的关键环节。以下是如何有效地使用Project Server 2007中的预算资源的详细步骤和相关知识点: 1. 创建预算资源: - 预算资源是用于跟踪项目...

Global site tag (gtag.js) - Google Analytics