我目前对UNIX系统很感兴趣。
在IPC(进程间通信)方面,UNIX使用名为socket
的文件。我了解它的工作原理类似于服务器-客户端模型,写入端和读取端使用socket文件进行通信。
但是我想知道socket内部是如何工作的。每个进程指定一个socket文件(可能带有inode
),然后在上面进行读写操作吗?如果是这样,如果我观察此socket文件,是否可以查看原始数据(或封装的数据)?
还有一个问题,socket文件有格式吗?例如,一些应用程序socket文件如mysql.sock
和docker.sock
,它们有自己的格式吗?