![什么是套接字文件?](https://linux22.com/image/1081458/%E4%BB%80%E4%B9%88%E6%98%AF%E5%A5%97%E6%8E%A5%E5%AD%97%E6%96%87%E4%BB%B6%EF%BC%9F.png)
最近,我开始使用 tmux;我尝试使用该软件中的结对编程功能。在此过程中创建了一个套接字文件。我的问题是:什么是套接字文件,如何在 Ubuntu 上打开它们以及如何使用它们?
答案1
套接字是一种特殊的文件类型,类似于 TCP/IP 套接字,提供受文件系统访问控制保护的进程间网络。
例如,当你使用 netcat 在一个终端中打开一个监听套接字时:
nc -lU socket.sock
然后通过以下方式从另一个终端发送数据:
echo mytext | nc -U socket.sock
mytext 出现在第一个终端上。
默认情况下,nc 在文件结束字符后停止监听。
答案2
Unix 域套接字是一种类似于 TCP/IP 套接字的双向管道。服务器侦听并接受来自客户端的连接,然后可以在新接受的连接上与客户端通信。Unix 域套接字的特殊之处在于,它们没有 IP 地址和端口号,而是以文件名作为地址。这样,其他对网络一无所知的应用程序就可以被告知打开文件并进行读取或写入,数据将发送到服务器而不是磁盘。