天天看點

【AllJoyn架構-03】官方示例程式basic簡單剖析

不論是自己編譯源碼還是從官方下載下傳sdk,在alljoyn_core\samples下的代碼很值得研究,有利于熟悉alljoyn架構的各種概念和程式設計套路。今天我且對basic程式作下簡單剖析。

分服務端和用戶端。首先看服務端:(我對示例代碼做了精簡,隻保留最核心的api,這樣更能抓住主要沖突又不影響分析)

用戶端:

有一現象得說明一下:當我把makemethodcall方法裡的代碼放進main中時,程式在最後析構的時候會發生異常,不過最後傳回值還是會列印出來。若直接調用makemethodcall時就正常。

運作結果截圖

服務端:

【AllJoyn架構-03】官方示例程式basic簡單剖析
【AllJoyn架構-03】官方示例程式basic簡單剖析

由上可知向服務端發送了hello world,執行了方法調用後傳回合成後的字元串。

最後也順便說一下另外幾個工程,其實大緻結構與上差不多,具體任務稍有差異

namechanged_client是修改某個屬性名,以signal_service為服務;

signalconsumer_client是訂閱了某個屬性名信号,一旦名稱改變,它會有所反應,也以signal_servie為服務,若要看到現象,namechanged_client也要參與進來。可參照下圖

【AllJoyn架構-03】官方示例程式basic簡單剖析

繼續閱讀