Linux下的socket详解

一、socket的定义

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

二、socket在linux内核中的结构

Socket在内核中是以一个结构体进行定义的,这个结构体包含有ip、port、state、size等成员,这些成员都是用来初始化套接字的详细信息的,但是我们无法直接使用这些成员。Linux提供了接口供我们对这些结构体的成员进行操作。如图所示:
Linux下的socket详解