Unix域协议并不是一个实际的协议族,而是在单个主机上执行客户/服务器通信的一种方法。
Unix域提供两类套接字:字节流套接字和数据报套接字。
使用Unix域套接字的理由:
1.Unix域套接字往往比通信两端位于同一个主机的TCP套接字快出一倍。
2.Unix域套接字可用于在同一个主机上的不同进程之间传递描述符。
3.Unix域套接字较新的实现把客户的凭证(用户ID和组ID)提供给服务器,从而能够提供额外的安全检查措施。
Unix域用于标识客户和服务器的协议地址是普通文件系统中的路径名。
Unix域套接字地址结构
#include<sys/un.h>
struct sockaddr_un {
sa_family_t sun_family; //AF_LOCAL
char sun_path[104]; //路径名
}
存放在sun_path数组中的路径名必须以空字符结尾。

Unix域协议提供字节流和数据报套接字,用于同一主机上进程间通信,速度优于同一主机的TCP套接字。它们支持描述符传递,能进行安全检查,并通过路径名作为协议地址。socketpair函数创建已连接的套接字,而mycat程序展示了如何通过描述符传递读取文件内容。
最低0.47元/天 解锁文章
1588

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



