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

前言

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

网络开发基础(游戏方向)之 概念名词_第1张图片

网络开发基础(游戏方向)之 概念名词_第2张图片

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 实现可靠传输)。

对比

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

三次握手和四次挥手

三次握手

Three-Way Handshake

流程

发送方

接收方

信息

第一次握手

客户端

服务端

客户端向服务端请求连接

第二次握手

服务端

客户端

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

第三次握手

客户端

服务端

客户端开始连接操作

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

为什么需要三次握手?

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

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

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

四次挥手

Four-Way Handshake

流程

发送方

接收方

信息

第一次挥手

客户端

服务端

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

第二次挥手

服务端

客户端

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

第三次挥手

服务端

客户端

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

第四次挥手

客户端

服务端

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

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

你可能感兴趣的:(网络开发基础(游戏方向),网络,游戏,c#,Unity)