网络游戏服务器编程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

相关文章

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

mysql中的服务器架构详解

《mysql中的服务器架构详解》:本文主要介绍mysql中的服务器架构,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、mysql服务器架构解释3、总结1、背景简单理解一下mysqphpl的服务器架构。2、mysjsql服务器架构解释mysql的架

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

使用Nginx配置文件服务器方式

《使用Nginx配置文件服务器方式》:本文主要介绍使用Nginx配置文件服务器方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 为什么选择 Nginx 作为文件服务器?2. 环境准备3. 配置 Nginx 文件服务器4. 将文件放入服务器目录5. 启动 N