如何高效的利用dbus做client-server架构??//如果要传回数据到client侧,假设处理过的数据为:your_strcut_tdealed_with_datag_array_append_vals(*output_g
如何高效的利用dbus做client-server架构
??//如果要传回数据到client侧,假设处理过的数据为:your_strcut_tdealed_with_data g_array_append_vals(*output_garray,&dealed_with_data,sizeof(your_strcut_t)); returnTRUE;//一定要返回TRUE,否则client侧收不到数据的;} 上述通用步骤中,1,2在今后的扩展中,是不要要改的,尤其是第一步,dbus的xml接口描述非常 麻烦;如果为每个API自己去定义xml接口描述,搞不好,client和server之间不通;而且,一段时间 后,不看dbus的文档,就会忘记如何写其xml接口;所以做个通用的xml接口描述很省事; 3,4是client/server侧的各自实现,结构是钉死的,不用改多少;一个函数如此,N个函数也是这样; 如果你有30个函数,要分别实现它们吗?不必要,只要给各自的函数定义其ID就行; 在client/server侧的函数里面搞个switch-case结构就分开了; 架构定好了,传递数据也非常方便,比dbus自己的dbus_g_type_struct_set效率高的多,目前开源软件 多用dbus_g_type_struct_set,效率很低,对于传递批量数据,效率很低; 如果大家对于如何提高dbus传递消息/数据的效率,有什么更好的看法,欢迎交流。
创业项目群,学习操作 18个小项目,添加 微信:niuben22 备注:小项目!
如若转载,请注明出处:https://www.gzxsgy.com/25087.html