Unity3D数字孪生开发笔记——网络篇

Unity3D数字孪生开发笔记(一)

  • 一、网络连接的端点:Socket
  • 二、端口
  • 三、Socket通信流程
  • 四、TCP和UDP

一、网络连接的端点:Socket

1、网络上的两个程序通过一个双向的通信连接实现数据交换,这个连接的一段称为一个Socket。
2、一个Socket包含了进行网络通信必须的五种信息:连接使用的协议、本地主机的IP地址、本地的协议端口、远程主机的IP地址和远程协议端口。

理解: 把Socket理解为一台手机,本地主机的IP地址和端口相当于自己的手机号码,远程主机IP地址和端口相当于对方的手机号码,至少需要两台手机才能打电话,同样,至少需要两个Socket才能进行网络通信。

二、端口

1、“端口”是设备与外界通信交流的出口,每台计算机可以分配0到65535共2^16个端口。端口的出现是由于计算机“多任务”概念的引入。

理解: 原来大家都住平房,寄信的时候只关注 x x 路 x x 号,随着城市的发展,现在都住上了高楼,为了更准确的发送邮件,地址就成了x x 路 x x 号 x x 层 x x 室。

2、每一条Socket连接代表着:本地Socket -->本地端口–>网络介质–>远程端口–>远程Socket的链路。
3、Socket通信分为“连接方”和“监听方”:连接方使用不同的端口连接,监听方只使用一个端口监听。

三、Socket通信流程

1>开启连接之前,需要创建一个Socket对象(使用API Socket),然后绑定本地使用的端口(使用API Bind)。 对服务端而言,绑定的步骤相当于给手机插上SIM卡,确定了“手机号”,对于客户端而言,连接时(使用API Connect)会由系统分配端口,可以省去绑定步骤。
理解: 服务端的绑定相当于激活手机号,激活后别人才能打给你;客户端的绑定可以理解为存电话簿,但不在你电话簿的人也可以打给你,所以可以省去这个步骤。

2>服务端开启监听(使用API Listen),等待客户端接入。相当于电话开机,等待别人的呼叫。

3>客户端连接服务器(使用API Connect)。相当于手机拨号。

4>服务器接受连接(使用API Accept)。相当于接听电话并说出“喂”。

通过以上4步,成功的建立连接,可以收发数据。

5>客户端和服务端通过Send和Receive等API 收发数据,操作系统会自动完成数据的确认、重传等步骤,确保传输的数据准确无误。

6>某一方关闭连接(使用API Close),操作系统会持续“四次挥手”的步骤,关闭双方链接。相当于挂断电话。

  • 下面这个图也更贴切实际
    Unity3D数字孪生开发笔记——网络篇_第1张图片

四、TCP和UDP

1、TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议;UDP协议是无连接的、不可靠的、但传输效率较高的协议。
2、TCP注重传输的可靠性,确保数据不会丢失,但速度慢;UDP注重传输速度,但不保证所有发送的数据对方都能够收到。
3、使用TCP的话,必然存在3次握手阶段
Unity3D数字孪生开发笔记——网络篇_第2张图片

理解: 有些快递收费低,对快递员要求低,丢件频繁;有些快递收费高,要求快递员在每个节点都要做检查和标记,丢件概率低。

你可能感兴趣的:(数字孪生,unity3d)