1.什么是套接字
套接字的定义为:他是TCP/IP协议栈中传输层协议的接口,也是传输层以上所有协议的实现。同时套接字接口在网络协议程序功能中是内核与应用层之间的接口。TCP/IP协议栈的所有数据和控制功能都是来自套接字接口,与OSI网络分层模型相比,TCP/IP协议栈本身在传输层以上就不包含任何其他协议,Linux代替传输层以上协议实体就是一个标准接口,称为套接字,它实现传输层以上所有的功能,可以说套接字是TCP/IP协议栈对外的窗口,现代的操作系统,包括Linux在内,在与TCP/IP协议栈交互时,套接字接口是应用程序利用TCP/IP协议栈的唯一途径。
2.套接字接口的基本功能
套接字有3各基本功能:传输数据 ,为TCP管理链接,控制或调节TCP/IP协议栈的操作,套接字接口设计的既简单有好用,这也是为什么TCP/IP协议栈获得广泛应用的原因。套接字hi是一个通用的接口,它不仅适用于TCP/IP协议栈的协议,还可以用于Linux内部进程与进程之间的通信,如使用AF_UNIX类套接字。