UN1L7——IP地址和端口类
UN1L7——IP地址和端口类
本章代码关键字
123456System.Net //IP地址和端口类所在命名空间IPAddress //IP地址类new IPAddress() //初始化IP地址,可以传入byte数组和long长整型IPAddress.Parse() //初始化IP地址,可以传入字符串形式的IP地址IPEndPoint //通信目标类,包含IP地址和端口号new IPEndPoint() //初始化通信目标类,传入byte数组或long长整型或IP地址类,再传入端口号
IP类和端口类
通过之前的理论知识学习,我们知道想要进行网络通信,进行网络连接首先我们需要找到对应设备,IP和端口号是定位网络中设备必不可少的关键元素
C#中提供了对应的IP和端口相关的类来声明对应信息,对于之后的网络通信是必不可少的内容
IPAddress
命名空间:System.Net
类名:IPAddress
初始化IP信息的方式
用byte数组进行初始化
12byte[] ipAddress ...
UN1L6——网络游戏通信方案概述
UN1L6——网络游戏通信方案概述
弱联网和强联网游戏
通过之前的知识我们知道,网络游戏是以C/S模型为基础进行开发的,由客户端和服务端组成
弱联网游戏:
这种游戏不会频繁的进行数据通信,客户端和服务端之间每次连接只处理一次请求,服务端处理完客户端的请求后返回数据后就断开连接了
强联网游戏:
这种游戏会频繁的和服务端进行通信,会一直和服务端保持连接状态,不停的和服务器之间交换数据
弱联网和强联网游戏代表:
弱联网游戏代表:
一般的三消类休闲游戏、卡牌游戏等都会是弱联网游戏,这些游戏的核心玩法都由客户端完成,
客户端处理完成后只是告诉服务端一个结果,服务端验证结果即可,不需要随时通信
比如:开心消消乐、刀塔传奇、我叫MT等等
强联网游戏代表:
一般的MMORPG(角色扮演)、MOBA(多人在线竞技游戏)、ACT(动作游戏)等等都会是强联网游戏,
这些游戏的部分核心逻辑是由服务端进行处理,客户端和服务端之间不停的在同步信息
比如:王者荣耀、守望先锋、和平精英等等
长连接和短连接游戏
长连接和短连接游戏是按照网络游戏通信特点来划分的,我们甚至可以认为:弱联网游戏——& ...
UN1L5-3——TCP和UDP
UN1L5-3——TCP和UDP
TCP/IP协议中的重要协议
应用层协议
HTTP协议:超文本传输协议
HTTPS协议:加密的超文本传输协议
FTP协议:文件传输协议
DNS:域名系统
传输层协议
TCP协议:传输控制协议
UDP协议:用户数据报协议
网络层协议
IP协议
TCP:传输控制协议、UDP:用户数据报协议,他们的区别:
TCP: 更可靠,保证数据的正确性和有序性(三次握手四次挥手) 适合对信息准确性要求高,效率要求较低的使用场景
比如:游戏开发,文件传输,远程登录等等
UDP: 更效率,传输更快,资源消耗更少 适合对实时性要求高的使用场景
比如:直播,即时通讯,游戏开发等等
TCP协议
TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接
并且在消息传送过程中是有顺序的,并且是不会丢包(丢弃消息)的,如果某一条消息在传送过程中失败了,会重新发送消息,直到成功
它的特点是:
面向连接 —— 两者之间必须建立可靠的连接
一对一 —— 只 ...
UN1L5-2——TCP-IP协议
UN1L5-2——TCP-IP协议
TCP/IP协议
TCP/IP(Transmission Control Protocol/Internet Protocol)TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议
是指能够在多个不同网络间实现信息传输的协议簇,它是一个工业标准(就是实际会使用的标准)
TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等等协议构成的协议簇,
只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议
它是正儿八经的用于互联网的通信协议(规则)
说人话:TCP/IP协议是一系列规则(协议)的统称,他们定义了消息在网络间进行传输的规则,是供已连接互联网的设备进行通信的通信规则
比如:
在传输文件时我们使用其中的FTP文件传输协议
在传输电子邮件时我们使用其中的SMTP邮件传输协议
在定位远端计算机位置时我们使用其中的IP互联网协议地址
TCP/IP协议的规则
通过对OSI七层模型的学习,我们知道实现网络传输的功能非常繁杂,所以采用了分而治之的设计方法,
把网络的功 ...
UN1L5-1——OSI模型
UN1L5-1——OSI模型
OSI模型
OSI(Open System Interconnection Reference Model),开放式系统互联通信参考模型,简称OSI模型,它是一种概念模型
由ISO(International Organization for Standardization)国际标准化组织提出,是一个试图使各种设备在世界范围内互联为网络的标准框架
不同公司都按照统一的标准来控制网络互联通信,那么各设备之间就能够达到真正的互联通信了
说人话:
OSI模型是人为定义的一个标准(规范),它制定了设备之间相互连接相互通信的标准(规范)
各公司按照这个标准设计的规则(协议),就可以让不同设备利用互联网进行互联通信
OSI七层模型是更偏向于理论的知识点,说实话就算我们不学习它,直接学习网络相关API的知识点,也是完全没有影响的
但是通过OSI七层模型的学习,可以帮助我们理解之后的重点知识点TCP/IP协议
对于OSI七层模型你只需要大概了解每一层定义的规则是什么,它们分别要做些什么事情
我们在实际开发的时候其实是接触不到大部分层级内容的
OSI模型的规则
由于互联网协 ...
UN1L5——网络协议
UN1L5——网络协议
通过网络开发必备理论知识的学习,我们大概了解了网络游戏开发时的通讯流程,
我们知道设备间要通过IP地址、端口号定位对方,才能够进行通信。
也了解到了客户端(前端)和服务端(后端)具体指代的是什么
如果说我们之前学习的是网络通信的基础概要,那么网络协议就是一些更具体的网络连接、信息通信规则了
网络协议概述
协议的字面意思:经过谈判、协商而制定的共同承认、共同遵守的文件
网络协议的基本概念:
网络协议是计算机网络中进行数据交换而建立的规则、标准或约定的集合
指的是计算机网络中互相通信的对等实体之间交换信息时所必须遵守的规则的集合
说人话: 如果你想要在网络环境中进行通信,那么网络协议就是你必须遵守的规则
网络的本质是让我们可以通过物理设备传递2进制数据,让设备和设备之间可以通信
我们之前主要是了解了网络中的一些基本概念,比如:网络中是通过什么找到设备,网络中的设备基本布局等等
而接下来要学习的网络协议相关知识,学习的是这些2进制数据应该如何加工,如何准确的传递到目标设备当中,
在数据传递过程中具体的规则标准是什么而这些规则标准都是由网络协议制定的
主要讲解的内容有: ...
UN1L4——数据通信模型
UN1L4——数据通信模型
数据通信模型
对于网络游戏开发来说。我们采用C/S模型来进行前后端开发
在服务端的布局上往往使用的是,分布式的形式进行管理,比如服务端的用户数据使用集中式进行管理
玩家的数据都存储在数据库应用(SQL Server、MySQL)中
服务端应用程序使用分布式进行管理,账号服务器、游戏服务器、聊天服务器、跨服PVP服务器等分布式管理
这些服务端应用程序都使用数据库中的数据分别进行逻辑处理
这部分知识点我们只做简单了解,对于Unity前端程序来说,我们目前不用专门去学习服务端相关技能
对于网络游戏开发中的网络相关知识,前端程序更多的只需要学习
如何和服务端建立网络连接
如何和服务端交换信息
关于服务端如何设计,如何制作,我们目前只需简单了解,不做深究
在早期的计算机网络中,为了有效的利用计算机,一般将数据通信模型分为:
分散式(Decentralized)
集中式(Centralized)
分布式(Distributed)
这三种方式决定了数据在网络环境中的管理方式:
分散式
在分散式系统中,用户只负责管理自己的计算机系统,各自独立的系统之间没有资源或 ...
UN1L3——客户端和服务端
UN1L3——客户端和服务端
客户端
名词角度解释含义
客户端:用户使用的设备(计算机、手机、平板等等)
客户端应用程序:
用户使用的设备上安装的应用程序,用户会直接使用操作的内容
比如各种游戏、聊天软件、外卖软件等等,往往提到客户端都泛指的是客户端应用程序
基本概念:客户端(Client,或称为用户端、前端),是指与服务端相对应,为客户提供本地服务的应用程序
我们在设备上(计算机、手机等)使用的所有软件和应用几乎都是客户端应用程序
比如:各种浏览器,游戏,外卖应用程序(美团,饿了么),通讯软件(QQ、微信、陌陌)等等
他们都可以统称为客户端应用程序(简称客户端)
说人话:用户在设备上(计算机、手机、平板)运行使用的应用程序就是客户端应用程序(简称客户端)
服务端(服务器)
名词角度解释含义
服务端:为客户端提供服务的设备,一般是一台性能较好的计算机
服务端应用程序:
为客户端提供服务的应用程序,该应用程序是运行在服务端设备上的
往往在软件开发中提到的服务端或服务器都是泛指服务端应用程序
基本概念:服务端(Server,或称为服务器、后端)是为客户端服务的,服务 ...
UN1L2——IP、端口、Mac地址
UN1L2——IP、端口、Mac地址
网络中的信息传递方式
我们上节课学习了网络相关的基本概念,只要通过网络连接,我们的设备之间就可以进行信息的传递
那么我们在这里抛出一个问题:当我们传递消息时,如何准确的将信息传递到目标设备?
那么解决这个问题的关键点就是我们这节课将要学习的:IP地址、端口号以及Mac地址相关的内容
在互联中寻找一台指定设备就好像在现实世界中去找朋友串门,你必须要知道朋友的地址在哪里:
IP地址 = 朋友的住址(某街某小区某栋楼)
端口 = 朋友住所具体的门牌号(具体哪个应用程序)
在网络通信中,我们通过IP地址以及端口号定位想要通信的远端计算机中的某一个应用程序
IP地址 = 设备在外网中位置
端口 = 运行在该设备上的应用程序位置
Mac地址 = 设备进行网络通信的唯一标识,设备真正进行物理信息传输用来定位的标识
IP地址
基本概念:IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址
IP地址是IP协议提供的一种统一的地址格式,IP地址是设备在网络中的具体地址
IP地址就像是设备的家庭住址一样,被用来给互 ...
UN1L1——网络基本概念
UN1L1——网络基本概念
网络
在没有网络之前,每个人的设备(电脑等)都是彼此孤立的,网络的出现让设备之间可以相互通信
网络的作用
网络是由若干设备和连接这些设备的链路构成,各种设备,间接或者直接通过介质相连
设备之间想要进行信息传递时,将想要传递的数据编码为2进制数值便可以被有效的传输
这些数据是以电脉冲的形式进行传输的线缆中的电压是在高低状态之间进行变化的
因而,二进制中1是通过产生一个正电压来传输的,二进制中0是通过产生一个负电压来传输的
网络的基本概念很容易理解,但是提到网络我们不得不提一些关键词
局域网、以太网、城域网、广域网、 因特网、互联网、万维网等等
我们接下来就来简单的认识他们
网络:由若干设备和连接这些设备的链路构成,设备间可以相互通信
局域网:指某一个小区域内由多台设备互联成的计算机组
以太网:网络连接的一种规则,定义了连接传输规范
城域网:是在一个城市范围内所建立的网络,几十到一百公里
广域网:是连接不同地区、城市、国家的远程网络,几十到几千公里
互联网(因特网):是目前国际上最大的互联网,定义了通信规则等
万维网:是基于因特网的网站和网页的统称 ...