网络游戏服务器编程02 服务器简介

2024-06-23 09:08

本文主要是介绍网络游戏服务器编程02 服务器简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本章内容

	1、了解常见的服务器种类
	2、掌握网络游戏通信协议
	3、掌握socket编程
 
 

一、网络游戏类型

C/S架构是网络游戏最基本的框架,而从开发者的角度,又可以分一下几类
	1、对等的客户端与服务器端。(如cs,魔兽争霸等)
	2、基于大厅的网络游戏。(如欢乐斗地主,棋牌游戏等)
	3、纯C/S结构的网络游戏。(如魔兽世界)
 

·对等的客户端与服务器端

从严格意义上讲这种游戏不算网络游戏,因为它是局域网游戏。以其中一台电脑为server,其他与之相连的电脑为client。
特点:
·周期短,以一局为周期。
·由client负责核心算法,设计理念与单机游戏相仿。
·通常基于局域网。玩家信息无法保存。
结构图:
对等结构图

·基于大厅的游戏

大厅就是一个中介,一台专门的服务器。它的作用不是作为主机,而是负责为玩家牵线搭桥。进入大厅,玩家可以找到不同的玩家建立房间。为局域网游戏配置一个大厅服务器,就成了大厅游戏。如用vs对战平台玩dota。
特点:
·大厅只负责将client撮合在一起。在进行游戏时,玩家只和自己加入的server交互。因此,玩家可以保持与大厅的连接,不断汇报游戏信息;也可以断开与大厅的连接,等游戏结束后再重连大厅,并由主机汇报结果
·在与大厅相连的数据库中,存放了玩家的基本信息。即,玩家信息可以保持。
·大厅不包含游戏的核心逻辑运算。只负责提供房间供玩家选择。每个玩家在房间内的地位平等。每个玩家既可以充当服务器,也可以充当客户端。
结构图

·纯c/s结构的网络游戏

MMORPG(多人在线网络角色扮演游戏)就是纯C/S结构的网络游戏。这种游戏有一到多个服务器,成千上万的玩家同时在线,玩家在游戏世界里同时存在,并可以保持玩家信息。为了保证每个client具有相同的结构,关键的逻辑运算都放在服务器端。因此服务器是必须具备完整的游戏世界模型。客户端负责“播放”这个游戏世界,并通过I/O系统与这个世界交互。
特点:
·严格划分客户端与服务器端。两者开发分开进行。玩家只能与客户端交互,而服务器端有运营商控制。
·核心算法都在服务器端。而客户端只负责显示画面和一些非核心运算。客户端需要随时保持与服务器的链接。
·游戏世界具有良好的持续性。
结构图:
MMORPG功能结构图
TCP/IP协议详解
Socket编程
Over

这篇关于网络游戏服务器编程02 服务器简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086726

相关文章

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Java Docx4j类库简介及使用示例详解

《JavaDocx4j类库简介及使用示例详解》Docx4j是一个强大而灵活的Java库,非常适合需要自动化生成、处理、转换MicrosoftOffice文档的服务器端或后端应用,本文给大家介绍Jav... 目录1.简介2.安装与依赖3.基础用法示例3.1 创建一个新 DOCX 并添加内容3.2 读取一个已存

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

Nginx屏蔽服务器名称与版本信息方式(源码级修改)

《Nginx屏蔽服务器名称与版本信息方式(源码级修改)》本文详解如何通过源码修改Nginx1.25.4,移除Server响应头中的服务类型和版本信息,以增强安全性,需重新配置、编译、安装,升级时需重复... 目录一、背景与目的二、适用版本三、操作步骤修改源码文件四、后续操作提示五、注意事项六、总结一、背景与

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

Java Stream 并行流简介、使用与注意事项小结

《JavaStream并行流简介、使用与注意事项小结》Java8并行流基于StreamAPI,利用多核CPU提升计算密集型任务效率,但需注意线程安全、顺序不确定及线程池管理,可通过自定义线程池与C... 目录1. 并行流简介​特点:​2. 并行流的简单使用​示例:并行流的基本使用​3. 配合自定义线程池​示

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4: