D-Bus的底层传输是什么?

12

D-Bus允许程序进行通信。这种IPC是如何实现的?使用Unix域套接字、共享内存+信号量、命名管道,还是其他什么方法?也许是多种方法的组合?

4个回答

7

我认为它通常使用UNIX套接字。在Linux下,它可能会使用“抽象命名空间”Unix套接字,它们与常规UNIX套接字相同,只是它们在文件系统中不存在可见的文件。


例如,地址unix:path=/tmp/abcdef指定服务器将在路径/tmp/abcdef上侦听UNIX域套接字,客户端将连接到该套接字。地址还可以指定TCP/IP套接字或D-Bus规范未来迭代中定义的任何其他传输。 - Harsha Laxman

4
这与DBus查询问题非常相似。通过谷歌搜索得出的答案是套接字 - 无论是用于TCP/IP还是Unix域。

3

2

曾经有一些尝试直接从内核使用netlink套接字,与此相关的内容可以参考这里。最近(在上次LPC期间宣布),有些人正在努力摆脱D-Bus用户空间守护程序并将D-Bus放入内核中,它可能也会使用套接字,但是可能会重新启用netlink或其他方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接