第三季-第23课-Linux网络编程模型

第23课-Linux网络编程模型

 

23.1 linux网络模型

模型A;

对于这个模型,我们的进程要调用不同的协议(ICMP,IP,UDP,TCP)就要使用不同的函数来调用。但是这对于开发人员来说,不是理想的方式。

我们希望能够找到一种类似于文件编程的方法,就是无论硬盘还是内核的文件,我们都能用read函数来调用。所以我们引出模型B。

模型B:

Socket的实质就是一

个接口, 利用该接口,

用户在使用不同的网

络协议时,操作函数得

以统一。而针对不同协

议的差异性操作,则交

给了socket去自行解决

Linux的网络编程模型就是用Socket(套接制)的模型。

23.2 TCP编程模型

TCP是基于连接的一种协议。TCP协议的特点就是,服务器和客户机的区分。当有两个主机通讯的时候,一定是有一个充当服务器另一个充客户机。下面的图,表示服务器和客户机的作用和步骤。TCP是基于连接的一种协议。在服务器运行到等待连接的时候,若是没有响应就会一直处于等待的状态。

23.2 DUP编程模型

UDP有着和TCP类似的存在服务器和客户机的存在,但是它是一种无连接的存在,不需要连接。具体的步骤见下图。在服务器走到接收数据的一步,要是没有客户机给它数据,就会一直处于等待的状态。模型是一样的,编程的时候关键就是函数的调用。

原文地址:https://www.cnblogs.com/free-1122/p/11354487.html