Unity3D 网络游戏框架(一、网络基础)
1.套接字(Socket)
网络上两个程序通过一个双向的通信连接实现数据交换,这个连接的一端称为一个Socket。一个Socket包含了进行网络通信必须的五种信息:连接使用的协议、本地主机的IP地址、本地协议端口、远程主机的IP地址和远程协议端口。
2.IP地址
IP地址就像是我们的家庭住址一样,如果你要写信给一个人,你就要知道他(她)的地址,这样邮递员才能把信送到。计算机发送信息就好比是邮递员,它必须知道唯一的“家庭地址”才能不至于把信送错人家。只不过我们的地址是用文字来表示的,计算机的地址用二进制数字表示。
IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人计算机”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“电分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。例:点分十进IP地址(100.4.5.6),实际上是32位二进制数(01100100.00000100.00000101.00000110)
——此处摘自:IP地址_百度百科
3.端口号
所谓的端口,就好像是门牌号一样,客户端可以通过ip地址找到对应的服务器端,但是服务器端是有很多端口的,每个应用程序对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。为了对端口进行区分,将每个端口进行了编号,这就是端口号 。
——此处摘自: 端口号_百度百科
4.TCP
传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。
——此处摘自:
由于游戏开发最常用TCP协议,所以我以TCP为例,下面是服务端和客户端的流程图(图片来源《Unity3D 网络游戏实战》(第二版))
Unity3D 网络游戏框架(一、网络基础)相关推荐
- Unity3D网络游戏开发——开始网络编程:Echo
Unity3D网络游戏开发--开始网络编程:Echo(客户端部分) 什么是Echo程序 Echo程序是网络编程中最基础的案例.建立网络连接后,客户端向服务端发送一行文本,服务端收到后将文本送回客户端. ...
- Netty框架-java网络基础-1
1,java网络基础 计算机网络体系结构 OSI 七层模型 1,物理层 : 物理层并不是物理媒体本身,他只是开放系统中利用物理媒体实现物理连接的功能描述和执行连接的规范: DTE , DCE(物理光猫 ...
- Unity3D 网络游戏框架(四、异步客户端Socket)
在之前的代码中,我们了解了如何开发Socket网络通讯的代码,但是程序会阻塞,这篇我们来介绍如何开发异步Socket. 首先我们还是先查看一下微软官方文档的API了解下面的几个方法: 1.Socket ...
- Unity3D 网络游戏框架(八、大小端问题)
我们在Main()方法中写入如下代码 然后按F5调试 在调试阶段点击窗口->内存->内存1(1) 我们在地址栏中输入&a,代表查看a的地址 我们会发现a在内存中是01 00 00 ...
- Unity3D 网络游戏框架(七、TCP粘包和半包问题)
我们知道TCP是基于数据流的一种协议,所以在实际中可能会遇到粘包和半包问题 粘包:因send方法是将数据写到缓冲区,后由操作系统发送数据,所以可能会遇到这种情况,假设我们要发送一个hello和worl ...
- Alamofire学习(一)网络基础
Alamofire学习(一)网络基础 网络基础知识 1. 网络架构 1.1网络OSI七层协议 1.1.1.OSI七层协议简介 1.1.2.OSI七层作用 2 TCP/IP协议 2.1. TCP/IP协 ...
- 基于c++和asio的网络编程框架asio2教程基础篇:1、基本概念和使用说明
基于c++和asio的网络编程框架asio2教程基础篇:1.基本概念和使用说明 由于asio2没有写技术文档,因此打算写几篇文章介绍一下如何使用它,主要是针对新手. 1.asio2如何使用? asio ...
- 基于c++和asio的网络编程框架asio2教程基础篇:2、各个回调函数的触发顺序和执行流程
基于c++和asio的网络编程框架asio2教程基础篇:2.各个回调函数的触发顺序和执行流程 以tcp举例: tcp服务端流程: #include <asio2/asio2.hpp>int ...
- 《Unity3D网络游戏实战》第7章
<Unity3D网络游戏实战>第7章 服务端架构 总体架构 模块划分 游戏流程 Json编码解码 添加协议文件 引用System.web.Extensions 修改MsgBase类 测试 ...
最新文章
- tcp/ip通信中udp头部结构udphdrp-check校验计算
- python学生管理系统-python实现学生成绩管理系统
- form提交后,jquery 显示 文本框选择值和下拉框选中值
- centos组件显示乱码,centos组件显示乱码_解决CentOS下中文显示乱码
- ZOJ3785 What day is that day? 快速幂+找规律
- dubbo 注册中心zookeeper 手册
- 郁金香汇编代码注入怎么写看雪_汇编语言入门五:流程控制(一)
- 使用python连接kafka
- Creating and Interning Symbols
- HP MSA500 G2安装配置
- Win10下安装EPLAN P8 2.3时虚拟狗安装需要驱动数字签名的解决过程
- RFC 文档(1-500)
- 简单了解cri,runtimes,CRI,shim
- 《英国金融科技国家报告》翻译与摘录
- 统一社会信用代码的编码格式以及js正则校验
- Mature程序员演讲-二十年后的自己
- 音频节奏检测(Onset Detection)
- js整数向上取整(自定义取整几位)
- Elasticsearch通过_update_by_query和script批量修改文档
- 缓冲区(buffer)与缓存(cache)