unix domain socket

586 阅读1分钟

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版权协议,转载请附上原文出处链接及本声明。

原文链接:blog.csdn.net/MEIYOUDAO_J…