以下内容引述至《Linux/Unix系统编程手册》
Unix domain socket允许同一系统上不同进程之间相互通信的一种方式
Unix domain socket地址
在Unix domain中,socket地址以路径名来表示,domain特定的socket地址结构的定义如下所示:
struct socketaddr_un {
sa_family_t sum_family;
char sun_path[108];
}
sockaddr_un 结构中字段 sun_前缀是根据socket unix而来。sun_path字段长度是108字节或104字节,现代使用94字节。可移植应用程序在编码时应该采用最低值,并且在向这个字段写入数据时使用snprintf()或strncpy()以避免缓冲区溢出。
当用来绑定Unix domain socket时,bind会在文件系统中创建一个条目。文件的所有权将根据常规的文件创建规则来确定。这个文件会被标志为一个socket
有关绑定一个Unix domain socket方面还需要注意一下几点:
- 无法将一个socket绑定到一个既有路径

本文深入探讨了Linux Unix Domain Socket,包括流socket和数据报socket的使用,权限控制,以及如何创建互连socket对和使用抽象命名空间。通过具体的服务器和客户端程序示例,阐述了Unix Domain Socket在进程间通信中的角色和实现方式。
5225

被折叠的 条评论
为什么被折叠?



