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

谁都会走 提交于 2019-12-06 07:41:56

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!