概述:
什么是Socket? Socket是存在于应用层的套接字,主要用于与底层协议接口,实现进程与进程之间的通信。
这里的底层可以是传输层,也可以是网络层。不同层的协议是不一样的,所以创建的套接字类型也是不一样的。
Socket套接字的类型:
![](https://img.haomeiwen.com/i16021827/a573ff84c3e987c5.png)
![](https://img.haomeiwen.com/i16021827/8910fb606cf87c05.jpg)
原理作用:
唯一标识一个套接字是实现其他层的多路复用和多路分解的关键。
什么是复用和分解?
支持众多应用进程共用同一层的同一个协议(如传输层TCP、传输层UDP、网络层IP等),并能够将接收到的数据准确交付给不同的应用进程。这就叫做多路复用和多路分解。
如何唯一标识一个套接字来实现多路复用和多路分解呢?
这里我们以传输层为例来说明,一个套接字对应一个端口号。
![](https://img.haomeiwen.com/i16021827/efcb48ecca9dbb75.jpg)
网友评论