【问题标题】:Is a bus always necessary for dbusdbus总是需要总线吗
【发布时间】:2012-07-21 12:39:17
【问题描述】:

我正在尝试使用 DBUS 的低级 c-api 通过套接字实现服务器-客户端。我的问题是..是否有必要始终使用总线进行 dbus 通信。 BUS 是否意味着一个额外的 dbus-daemon 实例。

【问题讨论】:

    标签: c ipc dbus bus


    【解决方案1】:

    是的,您需要一条用于 DBus 通信的总线。总线是一个通信通道,仅此而已。更多的总线并不意味着更多的 Dbus 守护进程实例,它只是意味着更多的通信通道。

    在一个系统中,您通常有一个 DBus 守护程序和一个或多个总线。每条总线都用于某种类型的消息(在您的应用程序中定义)。

    2 应用程序可以绕过守护程序通过 DBus 进行通信,方法是指定您要向其发送信号/方法的客户端的名称(DBus 标准允许这样做)。但是,我认为没有提供此功能的 DBus 绑定。但是如果你想使用 DBus 的原始 C API,你可以自己实现它。您可以查看this discussion 了解有关该主题的更多信息。

    【讨论】:

    • 感谢您的回答。我得到了一个使用 GLIB DBUS 绑定监听 tcp 套接字设置的服务器。但是客户端需要使用 dbus 低级 c-api。我无法识别作为 dbus-daemon 的“接口”的 API 部分以及不是的部分。任何指针?我能找到任何使用套接字的 dbus 低级 c-api 示例应用程序吗?
    • 你可以看看低级C API手册here。与消息总线交互的功能似乎在this page 上。您可以找到有关使用低级 API here 的小教程。希望对您有所帮助。
    【解决方案2】:

    不确定 C API,但您可以使用我的 node.js dbus 实现直接连接客户端和服务器。这是example

    【讨论】:

      猜你喜欢
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-01
      • 2012-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多