跳转至

内容分别为: - 网络开发必备理论:IP、端口、Mac,客户端和服务端,数据通信模型 - 网路协议:网络协议概述,OSI模型,TCP/IP协议 - 网络通信:套接字Socket,文件传输FTP,超文本传输HTTP - 消息处理:分包,粘包,自定义协议工具,第三方协议工具Protobuf

数据通信模型

C/S模型

客户端和服务端模式:相当于两个应用程序(进程)在打交道

B/S模型

一种特殊的C/S,客户端不需要自己开发,利用浏览器,可以浏览任意的Web服务器

P2P模型

一个应用程序同时作为客户端和服务端。 通信方便,成本低,可靠性差。

网络协议概述

  • OSI模型:理论基础,用于定义网络通信规则
  • TCP/IP协议:利用这套理论基础真正实现的通信规则

OSI

七层:物链网输会示用(物联网叔会试用) 分配: - 物理层:0,1信号,通过物理硬件指定物理通信规则。 - 数据链路层:确定0,1的分组方式,决定发送给哪个==网卡==(MAC==地址) - 数据包“帧”:Head+Data - 网络层:MAC效率低下,利用==IP地址==进行==路由选择 - 网络层也要加个Head(每一层都加一个Head) - 传输层:已经可以定位到主机了,利用==端口号==准确的在==应用程序==之间进行通信 使用: - 应用层:为==应用程序==提供服务,开发者决定==协议信息==(如FTP,HTTP,SMTP) - 表示层:数据、代码转换、数据加密,统一==规则,让信息在各个操作系统和设备中都能使用。 - 会话层:建立、==管理、维护会话,是否发送完毕,是否收到,是否断开连接等。

TCP/IP协议

![[Pasted image 20250318221917.png]] 传输控制/网络协议,也叫网络通协议 - 不止TCP/IP,是由FTP,SMTP,TCP,UDP,IP等协议构成的==协议簇== 分为应用层、传输层、网络层、网络接口层。 - 应用层头:协议头(如FTP、HTTP等协议),决定传输信息==类型== - 传输层头:传输端口头(TCP或UDP协议),传输信息的==规则==以及==端口== - 网络层头:IP头,决定==传输路线==,用来路由 - 网络接口层头尾:产生帧(消息分段),决定==最终路线==(目标)

TCP、UDP

TCP UDP
连接方式 面向连接 无连接
安全方面 无差错、不丢失、不重复、按序到达 尽力交互、不保证可靠性
传输效率 相对较低 相对距高
连接对象 一对一 一对一,一对多,
多对一,多对多
## TCP
特点:
- 面向连接
- 一对一
- 可靠性高
- 有序的
重要概念:
- 三次握手:请求连接,授予,确认连接(消息传递)
- 四次挥手:(消息传递)请求断开,请求等待(把剩余消息传递)发完了授予断开,确认断开。
## UDP
特点:
- 无连接
- 可靠性低
- 传输效率高
- n对n
没有连接,直接丢。
所以==资源消耗小,处理速度快==

网络通信方案

网络游戏都是以==C/S模型==为基础进行的。

弱联网和强联网

  • 弱联网代表:三消类,卡牌游戏
  • 强联网:MMPRPG,MOBA,ACT

长连接和短连接

短连接

需要时再建立连接。 通信方式:HTTP,HTTPS(本质上是TCP协议)

长连接

连接一直建立,可以实时传输数据 通信方式:TCP传输控制协议,UDP数据包协议。

Socket,HTTP,FTP

Socket网络套接字

主要用于制作==长连接==游戏

Http/Https超文本传输协议。

简单的请求-相应协议,通常运行在TCP协议之上。 制作==短连接==游戏(弱联网游戏),也可以用来==资源下载==。

FTP文件传输协议

也是基于TCP传输,面向连接的,为文件传输提供可靠保证。