QtDbus进阶之dbus-send与dbus-monitor的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/czhzasui/article/details/81507451

dbus-send与dbus-monitor是常用的dbus命令行测试、监听工具
下面举一些例子
1、利用dbus-send调用远程服务器的method,由于命令过长分为三行。

dbus-send --session --dest=com.123.display --type=method_call --print-reply 
/com/123/display com.123.display.setDisplay
byte:0x01 byte:0x01 byte:0x01 byte:0x01 byte:0x01

指定发送的类型是session,远程服务器名字用–dest指定,–type指定是signal还是method_call ,–print-replay表示打印接收到的消息,/com/123/display为dbus服务器的path,com.123.display.setDisplay为interface.name,interface的名字是com.123.display,method函数名为setDisplay,一共传送了5个字节。在dbus-send中byte即uchar。
2、利用dbus-send发送signal

dbus-send --session --type=signal /com/123/camera com.123.camera.onCamera byte:0x01

可以不指定服务器名字,如果没有返回参数不需要添加–print-reply
3、dbus-send还可以传字节数组

dbus-send --session --type=signal /com/123/camera com.123.display.pasStateData 
array:byte:0x01,0x01,0x01,0x01,0x01,0x01,0x01

4、利用dbus-monitor监听消息

dbus-monitor interface=com.123.display

这里指定了监听的interface为com.123.display

猜你喜欢

转载自blog.csdn.net/czhzasui/article/details/81507451