大部分人都不太明白这篇文章“linux sock文件指的是什么”的知识点,所以主机频道为你总结了以下内容,内容详细,步骤清晰,有一定的参考价值。希望你看完这篇文章能有所收获。我们来看看这篇文章《linux sock文件指的是什么》。
Linux sock文件是指shell编程形成的windows sockets文件;Socket是应用层和TCP/IP协议族通信的中间软件抽象层,是一组接口。在设计模式下,Socket实际上是一种门面模式,将复杂的TCP/IP协议族隐藏在Socket接口的背后。
linux sock文件是什么意思?
linux中的Sock一般指外壳编程形成的windows sockets文件。通过ls -l后,首先显示的文件类型是:s。
什么是插座?
1.插座插座:
Socket起源于Unix,Unix/Linux的基本哲学之一是“一切都是文件”,可以作为“open-& gt;读写/读–>关闭”模式进行操作。套接字是这种模式的一种实现。Socket是一个特殊的文件,一些socket函数对它进行操作(读/写IO,打开和关闭)。
说白了,Socket是应用层和TCP/IP协议族通信的中间软件抽象层,是一组接口。在设计模式下,Socket实际上是一种门面模式,将复杂的TCP/IP协议族隐藏在Socket接口的背后。对于用户来说,一组简单的接口就足够了,这样Socket就可以组织数据来满足指定的协议。
注:其实socket没有层的概念,它只是facade设计模式的一个应用,让编程更简单。是软件抽象层。在网络编程中,我们大量使用socket。
2.套接字描述符
其实就是一个整数。我们最熟悉的句柄是0、1和2。0是标准输入,1是标准输出,2是标准误差输出。0,1,2是整数,对应的FILE *结构用stdin,stdout,stderr表示。
Socket API最初是作为UNIX操作系统的一部分开发的,因此它与系统的其他I/O设备集成在一起。特别是,当应用程序想要创建一个用于互联网通信的套接字时,操作系统返回一个小整数作为描述符来标识套接字。然后,应用程序将描述符作为传递参数,通过调用函数来完成某种操作(如通过网络传输数据或接收输入数据)。
在许多操作系统中,套接字描述符与其他I/O描述符集成在一起,因此应用程序可以对文件执行套接字I/O或I/O读/写操作。
当应用程序想要创建套接字时,操作系统返回一个小整数作为描述符,应用程序使用这个描述符来引用套接字,并请求操作系统打开一个文件。操作系统为应用程序创建文件描述符以访问文件。从应用程序的角度来看,文件描述符是一个整数,应用程序可以用它来读写文件。下图显示了操作系统如何将文件描述符实现为指向内部数据结构的指针数组。
每个程序系统都有一个单独的表。准确地说,系统为每个正在运行的进程维护一个单独的文件描述符表。当一个进程打开一个文件时,系统将一个指向该文件内部数据结构的指针写入文件描述符表,并将该表的索引值返回给调用者。应用程序只需要记住这个描述符,并在将来操作文件时使用它。操作系统用这个描述符作为索引来访问进程描述符表,通过指针找到存储文件所有信息的数据结构。
套接字的系统数据结构:
socket API中有一个函数socket,用来创建socket。套接字设计的一般思想是,单个系统调用可以创建任何套接字,因为套接字相当通用。一旦创建了套接字,应用程序就需要调用其他函数来指定具体的细节。例如,调用socket将创建一个新的描述符条目:
2)虽然socket的内部数据结构包含了很多字段,但是系统创建socket后,大部分数字字段都没有填写。应用程序创建套接字后,必须调用其他过程来填充这些字段,然后才能使用套接字。
评论前必须登录!
注册