`

游戏服务器知识点问题

 
阅读更多

一、游戏服务器开发中,与服务器通讯的过程中,TCP长连接传输的数据包肯定会存在粘包(前一个操作数据包和后一个数据包放在一起),断包(一个操作数据包分成若干段传输)。怎么处理这种问题呢?

解决方案:每个数据包添加包首部,首部中应该至少包含数据包的长度,通过先将数据包放入缓存(Buffer),再从Buffer中读取一个完整的操作数据包来处理。一个数据包传过来后,先放入Buffer中,数据包不完整则break等待下一个数据包的到来。

另外,缓存Buffer可放在用户session对象中,而Buffer初始化时ByteBuffer.allocateDirect(6000)是DirectByteBuffer对象。该对象有一个头int来标示有效数据长度,可通过buffer.getInt();来得到(每次读取,指针都会后移一个相应数据位置)。

二、前端flash和后端java服务端通信,使用amf协议:

比如,关于AMF3封装的类就存在BlazeDS的flex.messaging.io.amf包里面,其中几个比较重要的类有(Amf3Output、Amf3Input等,如果想兼容flash8之前版本请使用Amf0Output和Amf0Input)。如果各位想用AMF3格式又不想使用Flex的remoting功能,可以手动封装AMF格式。

三、关闭服务器要做的事情:

1、首先,把调度线程池停掉,不在执行定时检查用户连接等等定时任务。

2、接受连接的Selector的装饰者类,wakeup();和close();调用关掉。接受客户端数据的Selector和写回客户端的Selector同理。其中,写回客户端数据线程跳出循环,并调用中断即可(如果线程还处于wait等状态直接跳出)。

3、关闭连接,删除配置等。

 四、定时任务,来执行每天每周或每月的清理、备份等定时任务。

使用l.inux的crontab:

 

 



 

 

  • 大小: 76.4 KB
分享到:
评论

相关推荐

    微信小游戏服务器,房间及卡牌类游戏服务器。包含一个斗地主游戏逻辑。.zip

    .zip"压缩包中,我们可以推测其内容可能包括以下知识点: 1. **房间系统设计**:在多人在线游戏中,房间系统是关键。它允许玩家创建或加入特定的游戏房间,进行匹配对战。房间系统需要处理玩家的入座、离开、等待、...

    c++ 游戏服务器框架socket

    下面将详细阐述C++游戏服务器框架使用Socket时涉及的关键知识点。 1. **Socket基础**:Socket可以理解为网络上的进程间通信的端点,它是TCP/IP协议栈的一部分。在C++中,我们通常使用`<sys/socket.h>`头文件来创建...

    常用游戏服务器ip和端口

    在IT行业中,游戏服务器IP和端口是网络游戏中不可或缺的部分,它们构成了游戏服务的基础架构,使得玩家能够在全球范围内进行互动和竞技。以下是关于这个主题的详细知识点: 首先,我们需要了解什么是IP地址。IP...

    游戏服务器

    游戏服务器是网络游戏运行的核心部分,它负责处理游戏逻辑、玩家交互...以上就是“游戏服务器代码”涉及的一些核心知识点,这些内容涵盖了从基础架构到高级技术,对于理解游戏服务器的工作原理和开发实践具有重要意义。

    深度解析java游戏服务器开发.zip

    这里,我们将深度解析这个主题,探讨在Java环境下构建游戏服务器的关键知识点。 首先,我们需要理解Java语言的优势。Java以其跨平台的特性、丰富的类库以及强大的性能,成为了后端开发的首选语言之一,尤其适合大型...

    网络游戏服务器架构设计

    ### 网络游戏服务器架构设计相关知识点 #### 一、网络游戏服务器架构概述 网络游戏服务器架构是指为了支撑大规模在线游戏的稳定运行所采用的技术体系结构。一个合理的服务器架构不仅可以提高游戏性能,还能确保游戏...

    网络游戏服务器编程(高清完整版pdf)

    在本文中,我们将深入探讨这些关键知识点,帮助读者理解网络游戏服务器背后的工作原理和实现方法。 首先,我们要明白“网络”在这个场景中的含义。网络游戏依赖于高效的网络通信,以确保玩家在全球范围内能实时互动...

    netty游戏服务器核心

    下面将详细探讨 Netty 在游戏服务器中的应用及其相关知识点。 一、Netty 框架基础 1. 通道(Channel)和事件处理器(Event Loop): Netty 中的 Channel 负责网络I/O操作,如读写数据。Event Loop 是事件处理器,负责...

    08-分布式游戏服务器开发.rar

    分布式游戏服务器开发是现代大型在线游戏背后的核心技术之一,它涉及到多台服务器的协同工作,以处理成千上万玩家的交互、游戏逻辑、数据存储和网络通信等问题。本资料包"08-分布式游戏服务器开发.rar"可能包含了...

    网络游戏服务器端编程.pdf

    由于提供的文件信息中并没有实际的内容可供分析,只能针对标题“网络游戏服务器端编程.pdf”和描述进行知识点的阐述。 网络游戏服务器端编程是指使用服务器端的编程技术来处理网络游戏中的各种逻辑,确保游戏的稳定...

    毛子哥的游戏服务器架构详细

    毛子哥的游戏服务器架构知识点详细解析: 1. 游戏服务器架构概述: 毛子哥的游戏服务器架构是由四个主要组件构成的系统基础设施,它们分别是: - 游戏逻辑服务器(Service Container):负责游戏逻辑处理和数据服务。...

    2.1.7 使用Golang实现万人同服的游戏服务器@袁锋峰.pdf

    涵盖游戏服务器开发面临的挑战、游戏服务器设计面临的挑战、高并发TPS、高可用玩家对服务的可用性、低延迟忍受度、数据读写频度高、安全检查、高并发之道、高并发架构设计等多个方面的知识点。 游戏服务器开发面临...

    基于java语言实现的游戏服务器框架.zip

    以上就是基于Java语言实现的游戏服务器框架的一些核心知识点,这些技术和理念可以帮助我们构建出高效、可扩展且易于维护的游戏后端服务。在实际开发过程中,还需要结合具体的业务需求和项目规模进行优化和调整,以...

    网络游戏服务器端开发,是你学习网络游戏开发入门的好帮手

    网络游戏服务器端开发是游戏开发领域中的一个重要组成部分,它涉及到网络通信、并发处理、实时性以及数据同步等关键问题。本书“Visual C++网络游戏建模与实现”无疑为初学者提供了一个很好的入门平台,通过C++语言...

    游戏服务器岗位职责.docx

    在游戏服务器岗位职责中,我们可以总结出以下几个知识点: 1. Linux 操作系统下的 C/C++ 开发及脚本使用:游戏服务器岗位职责中多次提到 Linux 下的 C/C++ 开发和脚本使用,说明 Linux 操作系统下面的 C/C++ 开发是...

    游戏服务器架设教程

    本教程旨在指导用户如何架设游戏服务器,涵盖硬件安装、系统安装、系统设置等方面的知识点。 一、硬件安装 1. 确保服务器风扇正常转动,以避免服务器过热。 2. 确认服务器各个提示灯是否正常,包括电源指示灯、...

    unity act游戏服务器源代码

    在源代码中,我们可以期待以下几个关键的知识点: 1. **网络同步**:ACT游戏通常需要实时的玩家动作同步,因此源代码中会包含网络通信协议的设计,如使用UDP或TCP进行数据传输,以及如何处理延迟、丢包等问题。可能...

    多服务器游戏单点登陆设计思路 .

    知识点: 1. 单点登陆设计思路:使用一个或多个专门的登陆服务器来进行登陆验证,避免重复开发和数据同步困难的问题。 2. 数字签名:可以是一个随机生成的字符串,或者使用用户名和密码结合生成的数字签名。 3. ...

    [转]百万用户级游戏服务器架构设计

    ### 百万用户级游戏服务器架构设计的关键知识点 #### 一、服务器结构基本概念 - **定义**: 游戏服务器结构是指如何合理安排服务器各部分,以满足游戏的基本功能需求,确保良好的用户体验。 - **重要性**: 良好的...

Global site tag (gtag.js) - Google Analytics