socket

网络层的“ip地址”可以唯一标识网络中的主机,传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。这样利用三元组(ip地址,协议,端口)就可以标识网络的进程。

为了保证服务端能收接受到客户端的信息并能做出正确的应答而进行第一次和第二次握手,为了保证客户端能够接收到服务端的信息并能做出正确的应答而进行第二次和第三次握手。

socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。Socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)。

Socket是应用层与传输层之间的软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。

注意:socket没有层的概念,它只是一个facade设计模式的应用,让编程变的更简单。是一个软件抽象层。

results matching ""

    No results matching ""