man 7 unix unix domain socket 是一种用于本机进程间通信的socket
UNIX domain sockets
用法
#include <sys/socket.h>
#include <sys/un.h>
unix_socket = socket(AF_UNIX, type, 0);
error = socketpair(AF_UNIX, type, 0, int *sv);
描述
AF_UNIX 也被称为AF_LOCAL 套接字家族中被用来本机进程间高效通信,unix domain sockets 不被命名或者绑定到文件系统中的一个文件(被标记为socket类型)。linux也支持一个抽象的名字空间、不同文件系统有所区别。
AF_UNIX可以面向流的socket、也可是面向数据报的socket。当作为面向数据报的socket它可以保持消息边界、并且是可靠的,不需要重排序。 支持通过辅助数据向其他进程传递文件描述符 支持通过辅助数据向其他进程传递凭证(使用域套接字的服务器可以接收客户凭证,这样可以进行额外的安全检查)。 通过文件权限来限制那些进程有权限连接,这不比普通的socket更有优势。 地址格式
A UNIX domain socket address is represented in the following structure:
#define UNIX_PATH_MAX 108
struct sockaddr_un {
sa_family_t sun_family; /* AF_UNIX */
char sun_path[UNIX_PATH_MAX]; /* pathname */
};
版权声明:本文为CSDN博主「x-ghost」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。