DBus 객체의 중요성은 무엇입니까?

DBus 객체의 중요성은 무엇입니까?

수많은 DBus 튜토리얼을 읽었음에도 불구하고 여전히 전체 개념을 이해하는 데 어려움을 겪고 있습니다. 제 생각에는 이것이 지금까지의 가장 좋은 설명 중 하나입니다.

http://telepathy.freedesktop.org/doc/book/sect.basics.dbus.html

서로 다른 프로그램 간에 데이터를 교환하고 싶기 때문에 DBus를 사용하고 있습니다. 제 생각에는 그림 2-2와 같은 서버나 서비스를 제공하면 충분하다고 생각합니다. 이 서비스는 클라이언트와 공유하는 인터페이스를 통해 여러 가지 방법을 제공합니다.

그런 다음 클라이언트는 메서드를 호출하고 응답을 얻습니다.

그렇다면 내가 무엇을 놓치고 있는 걸까요? 추가 개체가 필요한 이유는 무엇입니까?

나는 이것이 객체와 클래스에 대한 Java 규칙을 준수하기 위한 것이라고 생각합니다. 각 객체는 인스턴스를 나타냅니다. 누군가가 이것을 확인해주기를 정말로 원합니다.

두 번째 시스템에 비해 첫 번째 시스템의 이점은 무엇입니까?

차트

답변1

관례에 의한 것이 아니라 고급 바인딩을 용이하게 하기 위한 것입니다.

기본 개체 및 개체 경로

프로그래밍 프레임워크는 일반적으로 기본 클래스가 있는 "객체"의 모양을 정의합니다. 예: java.lang.Object, GObject, QObject, Python의 기본 객체 또는 기타 항목. 우리는 그것을 네이티브 객체라고 부릅니다.

저수준 D-Bus 프로토콜은...네이티브 객체에 관심이 없습니다. 그러나 개체 경로라는 개념을 제공합니다. 객체 경로의 개념은 상위 수준 바인딩이 기본 객체 인스턴스의 이름을 지정하고 원격 애플리케이션이 이를 참조할 수 있도록 허용한다는 것입니다.

편집하다:

아마도 API와 libdbus에 내장된 메시지 버스 데몬을 사용하여 객체 사용을 피할 수 있으므로 결국 다음과 같은 통신 방법을 사용하게 될 것입니다.메소드를 호출하고 응답을 받는 클라이언트. 그러나 libdbus는 상위 수준 바인딩을 위한 하위 수준 백엔드로 설계되었으므로 libdbus API의 대부분은 바인딩 구현에만 유용합니다.

관련 정보