`

系列四:游戏服务器的阶段小总结

阅读更多

QQ: 2#4#2#1#0#6#7#6#4    #表示为空 
Mail: lin_style#foxmail.com    #替换成@

 

系列一:游戏服务器的总体框架

系列二:游戏服务器的邮局路由

系列三:游戏服务器的邮局服务器



     该篇的小总结主要是想综合我手上的代码情况做个总结。此篇后,可能会暂时停止编码,我发现我的很多思维上的东西,其他类似的已经有很多交集点。因此我觉得需要潜心专研几个其他的框架。 而现在手头上的编码大概有4000行左右(不完全统计),一些很基本的服务器和框架形状已经呈现,达到目的了,再下去就是闭门造车了。而且对以前发的文章一些新的方法也不在更新了。

目前已有的组件:
   

  • CommonLib:顾名思义
  • ClientPlay:模拟的客户端
  • PostofficeRoute:控制邮局的路由
  • PostofficeServer:邮局
  • ServerBin:逻辑服务器
  • ServerDPC:无。一个延迟的事件处理(对逻辑服务器的全局控制)   



目前编码的风格方式:

      可以参考前面的几个章节。因此在目录的大分类上,把最主要的提取出来,使得一目了然(自认为):

  • Config:配置文件
  • Protocol:协议文件
  • Logic:逻辑层
  • Brdige:粘贴逻辑/网络层的一个文件头,主要是放置两边通用的信息
  • Network:网络层
  • Standalone:一些独立的对象文件
  • 其他:一些主函数体


在工程的内部,我就开始细分。见图:

       既然是做游戏,那么为了符合一个理解,我把Role,Scene单独提炼了出来。在Standalone里我放置了平常需要用到的单独对象,比如需要自定的时间、封装的线程生命周期,可以放到"OS"这个单独的目录里,其他也是如此。不过注意,我把算法"Algorithm"单独提取了出来。
     这样通过目录的分层和工程内部的分层,起码对我来说,隔个十几天再去回顾时,这些名字和结构很容易提醒起我这是干嘛的

        并且在名字上,为了保持统一性,比如这个工程师PostofficeServer(邮局的),那么他可能对bin和PostofficeRoute都要进行通讯,那么在Network里命名规则就是CServerXXXX, CServer即PostofficeServer的缩写,XXXX如果是Route,就表示是对PostofficeRoute的通讯。除此之外,在Logic,protocol里等等,我都采取了这样的规则( “C主方次方” )。一点小规则。。

每个组件现在能完成的功能:

  • ClientPlay:可以加入协议开始和服务端调测
  • PostofficeRoute:可以根据CPU数自动的开启对应的UDP线程对客户端回应;可以根据邮局服务器的更新做出负载控制(见前三章);可以动态的接收连接
  • PostofficeServer:可以做出与Route的控制更新;可以接受客户端的连接;可以和ServerBin进行通讯;可以动态的接收ServerBin的连接;可以支持PostofficeServe和ServerBin的对应关系;可以进行客户端在ServerBin的动态跳转
  • ServerBin:主要配合PostofficeServer的调试。数据库,角色等不具体写代码
  • ServerDPC:无。一个延迟的事件处理(对逻辑服务器的全局控制)



完成这些功能调试后暂时收工:

  • 客户端到ServerBin的信息互相转发
  • 客户端动态的在ServerBin上切换


尾声:
      在不知不觉的挤时间中,它终于有点了小的模型和设计。截止发布这篇文章为止,svn的版本已经到了200。这就可以看出平时我对它的时间是多么的零碎。
     不过,最近发生了一点事,进度拖了很多。咳~~end..

 

1
0
分享到:
评论

相关推荐

    小游戏制作具体实现方案

    在本文中,我们将探讨如何实现一款小游戏,特别是射击游戏和RPG小游戏的制作,以及如何逐步进阶到创建大型3D在线游戏。 首先,游戏制作的基础是库函数的准备。对于初学者,通常会使用DirectX或OpenGL这样的库,它们...

    网络技术知识点总结

    4. **客户机/服务器阶段(1990s-2000s):** 随着网络技术的发展,客户机/服务器模式成为主流,数据和应用程序可以在多台计算机之间共享。 5. **互联网阶段(2000s至今):** 互联网技术的飞速发展极大地改变了人们...

    网络对战游戏《奇迹之海》服务器数据库的设计与实现.doc

    封装后的接口可以提供一系列的函数,如连接数据库、执行SQL语句、关闭连接等,使得游戏服务器能够方便地进行数据存取操作。 数据库服务器的实现包括了数据的增删改查操作,例如,当用户登录时,验证其身份信息;当...

    网络游戏性能测试规

    网络游戏性能测试规划是确保游戏在各种条件下稳定运行的关键步骤,涉及到对游戏服务器、数据库、网络通信等多方面的综合评估。以下是对给定文件标题“网络游戏性能测试规划”及其描述和部分内容的详细解析与扩展。 ...

    腾讯游戏平台架构历程.pdf

    - **技术选型**:为了应对服务器开发方面的不足,团队采取了一系列决策: - **单线程架构**:选择单线程架构来简化并发处理,降低复杂度。 - **异步消息机制**:采用异步消息传递机制来提高系统的响应性和灵活性。...

    跳一跳的前世今生——小游戏开发经验分享.pdf

    本文以《跳一跳》这款游戏的开发为例,分享了小游戏开发的经验,从如何制作一款优秀的小游戏,到小游戏平台的概述,再到具体的游戏开发实践,为有志于小游戏开发的读者提供了一系列知识点和经验总结。 首先,在探讨...

    某科技大讲堂34某科技网络游戏运作介绍.pptx

    1. **用户行为分析**:利用数据分析工具追踪用户在游戏中的一系列行为,如登录频率、游戏时长等。 2. **用户满意度调查**:定期进行用户满意度调查,了解用户的真实感受和建议。 3. **用户服务优化**:根据用户反馈...

    网络游戏-基于云端网络的交互式语音识别方法.zip

    总结,基于云端网络的交互式语音识别技术在网络游戏领域展现出巨大潜力,它不仅优化了游戏操作,还增强了玩家的社交体验。随着技术的进步,我们可以期待更多创新的语音识别应用在游戏中落地,为用户提供更加丰富和...

    疫情时期云游戏产业发展分析.docx

    1、政策利好面:政府对数字经济的支持力度加大,出台了一系列鼓励云游戏发展的政策,为云游戏产业创造了良好的发展环境。 2、市场利好面:消费者需求旺盛,尤其是年轻用户群体对新鲜事物接受度高,为云游戏市场提供...

    全球云游戏产业深度观察及趋势研判研究报告(2022年).pdf

    本报告从全球云游戏产业发展情况入手,深入阐述了云游戏的当今及未来,总结了云游戏产业历经的各个阶段,梳理了全球产业链分布地图。对中国及海外区域在市场规模、用户规模、接入类型、产业生态等不同维度的差异表现...

    网络游戏地推执行方案.pdf

    在网络游戏中,IP地址用于标识游戏服务器的位置,而端口号用于区分服务器上的不同服务或应用。在地推中,可能需要对目标玩家宣传游戏的IP地址和端口号,以便玩家知道如何连接到游戏服务器。 4. MMORPG游戏 MMORPG是...

    javaFx写的卡牌游戏

    6. **状态机**:游戏通常包含多个阶段和状态,如玩家回合、电脑回合、游戏结束等。使用状态机设计模式可以帮助管理这些状态的转换,确保游戏流程的正确性。 7. **网络编程**:如果该游戏支持多人在线对战,那么网络...

    Win32_remember1ad_传奇引擎_全套_skf_

    它可能包含了一系列的工具、库和文档,帮助开发者快速地设置和维护游戏服务器。SKF可能提供了服务器端的逻辑处理、玩家数据存储、游戏状态同步等功能,以确保游戏服务的稳定运行。 在描述中提到的“全套SKF开服程序...

    jiandao.rar_jsp 游戏_jsp石头剪刀布

    总结起来,这个项目是一个基于JSP的石头剪刀布游戏,它涉及到了JSP的基本语法、用户输入处理、服务器端逻辑以及简单的计分系统。对于学习JSP和Web开发的初学者,这是一个很好的实践项目,可以帮助理解动态网页的开发...

    游戏软件的开发方法

    2. **成熟的后台技术支持**:Java拥有强大的后端处理能力,特别是Java EE标准为企业级应用提供了丰富的服务和支持,如事务管理、安全性、持久化等,这对于游戏服务器来说是非常重要的。 3. **广泛的设备支持**:Java...

    2022.02-2022年全球云游戏产业深度观察及趋势研判-IDC&中国信通院-76页.pdf

    本报告从全球云游戏产业发展情况入手,深入阐述了云游戏的当今及未来,并总结了云游戏产业历经的各个阶段,梳理了全球产业链分布地图。本报告对中 国及海外区域在市场规模、用户规模、接入类型、产业生态等不同维度...

    三级网络技术知识

    - 客户机/服务器阶段: 网络技术的发展促进了客户端与服务器之间的数据交换。 - Internet阶段: 全球互联网的兴起,极大地改变了信息交流的方式。 - **应用领域**: - 科学计算: 如天气预报、物理模拟等。 - 事务...

    基于Java的黑白棋游戏的设计与实现

    通过本项目的开发,不仅实现了基于Java的黑白棋游戏的基本功能,还在此基础上加入了网络对战和一系列辅助功能,极大地提升了游戏的可玩性和趣味性。未来,可以考虑引入人工智能对手、增加更多棋盘样式等扩展功能,...

    第19章 Tomcat服务器和Servlet.pdf

    总结,本章主要介绍了Tomcat服务器、Servlet以及相关知识,包括它们的概念、安装与配置、执行原理以及在实际开发中需要注意的问题。通过学习,读者可以掌握搭建Web环境的基础知识,并能够开始编写和部署Servlet。

    Pc游戏编程(理论知识)

    根据提供的标题、描述以及部分内容,我们可以总结出一系列与PC游戏编程相关的知识点。 ### PC游戏编程(理论知识) #### 一、基础知识概述 本章节主要介绍了PC游戏编程的基础知识和技术要点,包括游戏编程的基本...

Global site tag (gtag.js) - Google Analytics