[Unity网络游戏实战]网络游戏的“Hello,World”——Echo(回响)(新手向)

网络游戏的“Hello,World”——Echo(回响)

文章目录

  • 网络游戏的“Hello,World”——Echo(回响)
    • 1,Socket
      • 1.1 Socket
    • 1.2 IP地址
    • 1.3 端口
    • 1.4 Socket通信流程
    • 1.5 TCP和UDP协议
    • 2.3 开始网络编程:Echo
      • 2.3.1 什么是Echo程序
      • 2.3.2 编写客户端程序
    • 2.4 完成客户端
    • 2.5 创建服务端
      • 2.5.1 服务端知识点
    • 2.6 测试Echo程序

1,Socket

1.1 Socket

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

image-20231221205108243

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

1.2 IP地址

网络上的计算机都是通过IP地址识别的,应用程序通过通信端口彼此通信

提示 在Windows命令提示符中输入ipconfig,便能够查看本机的IP地址。

[Unity网络游戏实战]网络游戏的“Hello,World”——Echo(回响)(新手向)_第1张图片

1.3 端口

“端口”是英文port的意译,是设备与外界通信交流的出口。每台计算机可以分配0到65535共65536个端口。通俗地讲,每个Socket连接都是从一台计算机的一个端口连接到另外一台计算机的某个端口,

Socket→本地端口→网络介质→远程端口→远程Socket的链路

1.4 Socket通信流程

[Unity网络游戏实战]网络游戏的“Hello,World”——Echo(回响)(新手向)_第2张图片

连接方(客户端)和监听方(服务端)有着不同的流程

1)开启一个连接之前,需要创建一个Socket对象(使用API Socket),然后绑定本地使用的端口(使用API Bind)。对服务端而言,绑定的步骤相当于给手机插上SIM卡,确定了“手机号”。对客户端而言,连接时(使用API Connect)会由系统分配端口,可以省去绑定步骤

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

3)客户端连接服务器(使用API Connect),相当于手机拨号。进行三次握手连接

4)服务器接受连接(使用A

你可能感兴趣的:(unity,游戏引擎)