`AF_UNIX` 和 `AF_LOCAL`

简介: `AF_UNIX` 和 `AF_LOCAL`

AF_UNIXAF_LOCAL 在计算机网络编程中都是指同一种类型的地址家族,它们被用来创建和管理UNIX域套接字(Unix Domain Sockets)。在不同的系统或标准文档中,可能会使用这两个名称中的任意一个来表示同一概念。

UNIX域套接字 主要用于同一台操作系统中的进程间通信(IPC),不同于基于网络的套接字如 AF_INET(用于IPv4)或 AF_INET6(用于IPv6),它并不通过网络进行数据交换,而是利用了操作系统的内核机制,在进程之间直接传递数据。

当在调用 socket() 函数创建套接字时,可以选择 AF_UNIXAF_LOCAL 作为第一个参数 domain,这表明你将创建的是一个用于本地进程间通信的套接字。

另外,PF_UNIXPF_LOCAL 通常与 AF_UNIXAF_LOCAL 是等价的,只是在某些系统中可能作为另一种表述方式出现。在POSIX兼容的系统中,PF_* 常常作为与 AF_* 对应的协议家族标识符使用,尽管在实践中二者在UNIX域套接字的情况下可互换。

UNIX域套接字可以是:

  • SOCK_STREAM 类型,提供一种有序、可靠、双向全双工的连接,类似于TCP。
  • SOCK_DGRAM 类型,提供无连接、不可靠的消息服务,类似于UDP,但即使在 SOCK_DGRAM 模式下,UNIX域套接字仍然保证消息边界,即发送的小块数据不会像网络UDP那样被重组。

这种套接字的地址结构是 sockaddr_un,其中可以包含一个文件系统路径(命名套接字)或是一个在内核中创建的匿名套接字对(由 socketpair() 函数创建)。由于数据传输发生在本地,不需要网络协议栈处理,所以相比网络套接字,UNIX域套接字具有更快的速度和更低的开销。

目录
相关文章
|
存储 监控 Linux
【Linux IO多路复用 】 Linux下select函数全解析:驾驭I-O复用的高效之道
【Linux IO多路复用 】 Linux下select函数全解析:驾驭I-O复用的高效之道
2886 0
|
6月前
|
Unix Linux C语言
在Linux下通过Socket实现本机进程间通信
这些代码块提供了一个基本的IPC通信模型,可以用作更复杂应用程序的基础。要根据特定需求扩展这些代码,您可能需要考虑错误处理、多线程或多进程并发处理、以及消息编码策略。
422 17
|
安全 数据库 数据安全/隐私保护
|
存储 运维 安全
|
安全 Linux iOS开发
Nmap 使用指南:安装、优缺点及备忘单
【8月更文挑战第20天】
3741 0
|
Ubuntu Linux 测试技术
探索Linux中的`dbus-send`命令
`dbus-send`是Linux中用于进程间通信的D-Bus系统的命令行工具,允许应用程序通过消息总线相互交互。要安装它,可以使用包管理器(如`apt-get`或`dnf`)。基本语法包括指定总线类型、目标服务、消息类型、对象路径、接口及方法等。示例用法包括使用`dbus-send`来锁定屏幕(通过调用`org.gnome.ScreenSaver.Lock`)和设置音量(通过与PulseAudio服务交互)。在使用时,需了解目标服务的接口和方法,并确保具备相应权限。
1118 10
|
网络协议 物联网 开发者
详细介绍 MQTT 的工作原理,包括 MQTT 协议的特点、核心概念以及消息传递的流程
详细介绍 MQTT 的工作原理,包括 MQTT 协议的特点、核心概念以及消息传递的流程
9030 1
|
物联网 API 数据库
一文带你认识蓝牙 GATT 协议
正所谓磨刀不误砍柴工,我们有必要先深入的学习一下 GATT 以及 GATT 相关的一些知识。 本文我们就来了解一下 蓝牙 GATT 到底是什么?同时了解下我们使用的 ESP32-C3 GATT示例的工程的代码结构。
9638 5
一文带你认识蓝牙 GATT 协议
|
网络协议 算法 数据库
OSPF协议详解:工作原理与实现机制
OSPF协议详解:工作原理与实现机制
1690 0
|
网络协议 Linux 网络安全
Iptables 命令完整指南
【8月更文挑战第20天】
5690 0
Iptables 命令完整指南

热门文章

最新文章