网络开发基础(游戏方向)之 概念名词

news2025/5/11 4:48:20

前言

1、一款网络游戏分为客户端和服务端两个部分,客户端程序运行在用户的电脑或手机上,服务端程序运行在游戏运营商的服务器上。

2、客户端和服务端之间,服务端和服务端之间一般都是使用TCP网络通信。客户端和客户端之间通过服务端的消息转发进行通信。

3、强联网游戏和弱联网游戏

强联网游戏:这种游戏会频繁地和服务端进行通信,会一直和服务器保持连接状态,不停地和服务器之间交换数据。例如MMORPG、MOBA。

弱联网游戏:这种游戏不会频繁地进行数据通信,客户端和服务端之间每次连接只处理一次请求,服务端处理客户端请求后返回数据后就断开连接了。例如三消休闲游戏,卡牌游戏。

特性强联网游戏弱联网游戏
连接方式持久TCP/UDP连接短时HTTP/HTTPS连接
通信频率高频(10-60次/秒)低频(几分钟至几小时一次)
数据传输量大量实时状态数据(位置、动作等)少量业务数据(分数、道具等)
同步机制帧同步/状态同步最终一致性同步
容错能力要求快速断线重连支持离线缓存后同步

4、

Socket(套接字):主要用来完成长连接网络游戏需求

HTTP(超文本传输协议):用于客户端(如浏览器)和服务器之间的网页数据传输(如 HTML、图片、视频)。

FTP(文件传输协议):用于在客户端和服务器之间上传/下载文件。

IP地址和端口号

     IP地址和端口号是计算机网络中用于标识设备和服务的关键概念,它们共同确保数据准确传输到目标应用程序。

IP地址

作用:唯一标识网络中的设备(如电脑、服务器、手机等)。

类型:

  • IPv4:32位地址,格式为 192.168.1.1(约42亿个地址,已接近枯竭)。

  • IPv6:128位地址,格式为 2001:0db8:85a3::8a2e:0370:7334(解决IPv4不足的问题)。

分类:

  • 公网IP:全球唯一,用于互联网通信(如谷歌的 8.8.8.8)。

  • 私网IP:局域网内使用(如 192.168.x.x10.x.x.x),通过NAT转换访问公网。

端口号

作用:标识设备上的具体服务或应用程序(一台设备可运行多个服务)。

范围:16位数字(0-65535),分为三类:

  • 知名端口(0-1023):预留给系统服务(如HTTP: 80、HTTPS: 443、SSH: 22)。

  • 注册端口(1024-49151):分配给用户应用程序(如MySQL: 3306)。

  • 动态端口(49152-65535):临时用于客户端连接。

补充

1、本地开发可以使用 localhost:3000localhost指向本机IP 127.0.0.1)。

2、为什么需要端口号?

IP地址只能定位设备,端口号进一步指定数据交给哪个应用程序处理。

3、端口号可以随意设置吗?

避免使用0-1023的知名端口(需管理员权限),通常选择1024以上的端口。

4、查看本机ip地址

在windows操作系统中打开命令提示符窗口,然后输入指令ipconfig查看本机的IP地址信息

快捷方式:运行窗口(win+R)-> 打开cmd -> ipconfig

5、可以通过送快递来理解IP地址和端口号:IP地址相当于居住小区的楼栋号地址,端口号相当于门牌号。只有知道了小区楼栋地址+门牌号才能准确地把快递送达。

TCP/IP协议

TCP/IP 协议概述

全称:Transmission Control Protocol / Internet Protocol。即传输控制/网络协议,也叫作网络通讯协议。

作用:提供可靠的、端到端的数据传输,确保数据在网络中正确路由和交付。

注意:TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等等协议构成的协议族 ,只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

TCP/IP 四层模型

层级功能典型协议
应用层提供用户接口和网络服务HTTP、FTP、DNS、SMTP、SSH
传输层确保端到端的数据传输(可靠/不可靠)TCP(可靠)、UDP(不可靠)
网络层负责寻址和路由(跨网络传输)IP(IPv4/IPv6)、ICMP、ARP
网络接口层物理连接和帧传输(数据链路+物理)Ethernet(以太网)、Wi-Fi、PPP

总结

  • TCP/IP 是互联网的基石,涵盖应用层、传输层、网络层、网络接口层。

  • TCP 提供可靠传输,UDP 追求高效,IP 负责寻址和路由。

  • 理解 TCP/IP 有助于诊断网络问题(如延迟、丢包)和优化应用设计。

TCP和UDP

       TCP(传输控制协议)和 UDP(用户数据报协议)是 TCP/IP 协议族 中最核心的两个传输层协议,它们在数据传输方式、可靠性和应用场景上有显著区别:

1、TCP:是一种面向连接、可靠的、基于字节流的传输层通信协议。

2、UDP:是一种无连接的、不可靠、但传输效率较高的协议。

TCP

传输控制协议(Transmission Control Protocol)

特点:

1、面向连接:通信前需要通过三次握手建立连接;结束时通过四次挥手释放连接。

2、可靠传输:通过确认应答(ACK)、超时重传、流量控制保证数据完整。

3、有序交付:数据按发送顺序重组。

优点:

1、数据不丢失、不重复、按序到达。
2、适合对可靠性要求高的场景(如网页、文件传输)。

缺点:

1、建立连接和确认机制引入额外开销,延迟较高。
2、不适合实时性要求极高的应用(如视频会议)。

UDP

用户数据报协议(User Datagram Protocol)

特点:

1、无连接:直接发送数据,无需握手或断开连接。

2、不可靠传输:无确认、重传、流量控制机制,数据可能丢失或乱序。

3、高效低延迟:头部仅8个字节(TCP至少20个字节),传输开销小。

4、支持广播/多播:可同时向多个目标发送数据(如视频直播)。

优点:

1、传输速度快,实时性高。
2、适合对延迟敏感的应用。

缺点:

1、不保证数据完整性,可能丢包或乱序。
2、需应用层自行处理可靠性(如 QUIC 协议基于 UDP 实现可靠传输)。

对比

特性TCPUDP
连接方式面向连接(三次握手)无连接
可靠性可靠(确认+重传)不可靠
数据顺序保证有序不保证顺序
流量控制滑动窗口机制
拥塞控制有(慢启动、拥塞避免)
头部大小至少 20 字节8 字节
传输效率较低(延迟高)极高(延迟低)
适用场景网页、文件、邮件视频、游戏、实时通信

三次握手和四次挥手

三次握手

Three-Way Handshake

流程

发送方

接收方

信息

第一次握手

客户端

服务端

客户端向服务端请求连接

第二次握手

服务端

客户端

服务端同意连接请求,并告知客户端

第三次握手

客户端

服务端

客户端开始连接操作

目的:在通信双方(客户端和服务端)之间建立可靠的 TCP 连接,同步初始序列号(ISN),确保双方都能正常收发数据。

为什么需要三次握手?

  • 防止历史重复连接初始化:避免因网络延迟导致的旧连接请求突然到达,造成资源浪费。

  • 同步双方初始序列号:确保双方都知道对方的起始序列号,保证数据有序传输。

  • 双向确认:客户端和服务端均确认对方的收发能力正常。

四次挥手

Four-Way Handshake

流程

发送方

接收方

信息

第一次挥手

客户端

服务端

客户端告诉服务器数据已发完,如果还有消息就快发完,否则将要断开连接

第二次挥手

服务端

客户端

服务器接受第一次挥手的信息,告诉客户端继续等待

第三次挥手

服务端

客户端

服务器消息已发完,告诉客户端可以开始断开连接

第四次挥手

客户端

服务端

客户端接受到操作指令,等待一定一时间如果没有收到服务器回复就开始断开操作

目的:安全地释放 TCP 连接,确保双方数据全部传输完毕。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2340346.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【源码】【Java并发】【AQS】从ReentrantLock、Semaphore、CutDownLunch、CyclicBarrier看AQS源码

👋hi,我不是一名外包公司的员工,也不会偷吃茶水间的零食,我的梦想是能写高端CRUD 🔥 2025本人正在沉淀中… 博客更新速度 👍 欢迎点赞、收藏、关注,跟上我的更新节奏 📚欢迎订阅专栏…

k8s介绍与实践

第一节 理论 基础介绍,部署实践,操作实践,点击这里学习 第二节 dashboard操作 查看安装的dashboard服务信息 kubectl get pod,svc -n kubernetes-dashboard 网页登录地址:https://server_ip:30976/#/login 创建token kube…

KRaft面试思路引导

Kafka实在2.8之后就用KRaft进行集群管理了 Conroller负责选举Leader,同时Controller管理集群元数据状态信息,并将元数据信息同步给各个分区的Leader 和Zookeeper管理一样,会选出一个Broker作为Controller去管理整个集群,但是元数…

FreeRTOS菜鸟入门(六)·移植FreeRTOS到STM32

目录 1. 获取裸机工程模版 2. 下载 FreeRTOS V9.0.0 源码 3. FreeRTOS文件夹内容简介 3.1 FreeRTOS文件夹 3.1.1 Demo文件夹 3.1.2 License 文件夹 3.1.3 Source 文件夹 3.2 FreeRTOS-Plus 文件夹 4. 往裸机工程添加 FreeRTOS 源码 5. 拷贝 FreeRTOSConfig…

14.第二阶段x64游戏实战-分析人物的名字

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:13.第二阶段x64游戏实战-分析人物等级和升级经验 名字(中文英文符号…

【CS*N是狗】亲测可用!!WIN11上禁用Chrome自动更新IDM插件

现象:每次打开chrome后IDM会弹出提示插件版本不一致。经过排查后发现是chrome把IDM插件给更新了,导致IDM提示版本不匹配。经过摸索后,得到了可行的方案。 第一步,打开Chrome,把IDM插件卸载掉,然后重新安装I…

漫游git rebase + 浅谈git checkout和git branch -f的分支命令

今天学了两个命令非常有意思:一个是git checkout,一个是git branch -f。我们可以认为在提交树上,任何一个节点代表着一次提交。并且,git commit将会在 H E A D HEAD HEAD指针指向的节点上进行进一步提交。将每一个分支名视为标记当…

深入理解 React 组件的生命周期:从创建到销毁的全过程

React 作为当今最流行的前端框架之一,其组件生命周期是每个 React 开发者必须掌握的核心概念。本文将全面剖析 React 组件的生命周期,包括类组件的各个生命周期方法和函数组件如何使用 Hooks 模拟生命周期行为,帮助开发者编写更高效、更健壮的…

OpenCV 图形API(44)颜色空间转换-----将图像从 BGR 色彩空间转换为 RGB 色彩空间函数BGR2RGB()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 将图像从BGR色彩空间转换为RGB色彩空间。 该函数将输入图像从BGR色彩空间转换为RGB。B、G和R通道值的常规范围是0到255。 输出图像是8位无符号3通…

配置nginx服务,通过多ip区分多网站

首先关闭防火墙,setenforce 0 关过了,不截图了 多IP,首先配置多个IP地址 可以在vm增加虚拟网卡,也可以在同一网卡配置多个IP,我用第一种 记得点确定 查看新的虚拟网卡IP 没有IP,配置一个 安装nginx 写配置 server{listen 192.168.214.130:80;root /www/ip/130; # 资源根目…

[k8s实战]Containerd 1.7.2 离线安装与配置全指南(生产级优化)

[k8s实战]Containerd 1.7.2 离线安装与配置全指南(生产级优化) 摘要:本文详细讲解在无外网环境下部署 Containerd 1.7.2 容器运行时的完整流程,涵盖二进制包安装、私有镜像仓库配置、Systemd服务集成等关键步骤,并提供…

解决Windows安全中心显示空白页面

1、电脑重装系统后,发现原本一些软件打不开了,电脑莫名认为有病毒,自动删除插件。附图。 2、第一反应是电脑防火墙的原因,默认威胁防护识别到了病毒软件,自动删除。在开始屏幕搜Windows安全中心,打开之后发…

【MQ篇】初识MQ!

目录 一、什么是MQ?简单来说就是个“快递中转站” 📦二、为什么要用MQ?用了它,好处多多!🤩三、MQ的应用场景:各行各业都能用!🌍四、MQ的优缺点:硬币的两面&am…

2、SpringAI接入ChatGPT与微服务整合

2、SpringAI接入ChatGPT与微服务整合 小薛博客AI 大模型资料 1、SpringAI简介 https://spring.io/projects/spring-ai Spring AI是一个人工智能工程的应用框架。其目标是将Spring生态系统的设计原则(如可移植性和模块化设计)应用于人工智能领域&#…

榕壹云预约咨询系统:基于ThinkPHP+MySQL+UniApp打造的灵活预约小程序解决方案

数字化咨询场景的痛点与解决方案 在心理咨询、医疗问诊、法律咨询等需要预约服务的场景中,传统线下预约存在效率低、管理复杂、资源分配不均等问题。榕壹云预约咨询系统基于ThinkPHPMySQLUniApp技术栈开发,为咨询类行业提供了一套高效、安全、可扩展的数…

opencv 图像矫正的原理

图像矫正的原理是透视变换,下面来介绍一下透视变换的概念。 听名字有点熟,我们在图像旋转里接触过仿射变换,知道仿射变换是把一个二维坐标系转换到另一个二维坐标系的过程,转换过程坐标点的相对位置和属性不发生变换,…

计算机前沿技术课程论文 K-means算法在图像处理的应用

K-means算法在图像处理的应用 这是本人在计算机前沿技术课程中的课程论文文章,为了方便大家参考学习,我把完整的论文word文档发到了我的资源里,有需要的可以自取。 点击完整资源链接 目录 K-means算法在图像处理的应用摘要:引言1…

WSL2-Ubuntu22.04安装URSim5.21.3

WSL2-Ubuntu22.04安装URSim5.21.3 准备安装启动 准备 名称版本WSL2Ubuntu22.04URSim5.21.3VcXsrvNaN WSL2安装与可视化请见这篇:WSL2-Ubuntu22.04-配置。 安装 我们是wsl2-ubuntu22.04,所以安装Linux版本的URSim,下载之前需要注册一下,即…

blender 录课键位显示插件(图文傻瓜式安装)

1、下载 点击这个链接进行下载https://github.com/nutti/Screencast-Keys 下载好不用解压 2、安装 打开blender进行安装 点击编辑选择偏好设置 选择插件再点击这个下箭头 选择从磁盘安装 然后找到自己刚刚下载好的,点击从磁盘安装 安装完成后勾选上插件 …

天翼云手机断开连接2小时关机

2025-04-21 天翼云手机断开连接2小时自动 天翼云手机 4元1个月 天翼云手机永不关机 天翼云手机不休眠 天翼云手机断开连接时,界面显示:离线运行,2小时后自动关机 电脑每小时自动连接一次 手机每小时自动连接一次