Linux Socket Unix Domain介绍

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下内容引述至《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方面还需要注意一下几

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值