网络游戏服务器编程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并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

nginx配置多域名共用服务器80端口

《nginx配置多域名共用服务器80端口》本文主要介绍了配置Nginx.conf文件,使得同一台服务器上的服务程序能够根据域名分发到相应的端口进行处理,从而实现用户通过abc.com或xyz.com直... 多个域名,比如两个域名,这两个域名其实共用一台服务器(意味着域名解析到同一个IP),一个域名为abc

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

MySQL 中的服务器配置和状态详解(MySQL Server Configuration and Status)

《MySQL中的服务器配置和状态详解(MySQLServerConfigurationandStatus)》MySQL服务器配置和状态设置包括服务器选项、系统变量和状态变量三个方面,可以通过... 目录mysql 之服务器配置和状态1 MySQL 架构和性能优化1.1 服务器配置和状态1.1.1 服务器选项

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署