天天看點

【AllJoyn架構-04】瘦用戶端在windows環境下的運作示例

1、介紹

thin client,顧名思義即瘦用戶端,主要是指運作小型嵌入式裝置上的程式,類似于傳感網的一個節點,像前面文章講述的arduino due平台就是一個瘦用戶端。由官方提供的sdk來看,它不僅可在arduino上跑,也可在windows、linux環境下運作。是以今天來初步學習一下其在windows環境下運作的範例basic。

2、下載下傳源碼并編譯

scons targ=win32 variant=debug msvc_version=11.0 ws=off > scons.txt

之是以将結果導入到scons.txt檔案中,是我想知道編譯發生了什麼,你可不用這麼做,直接在終端輸出一大堆資訊。編譯完成後就會有一些重要檔案生成像ajtcl.lib以及test、sample目錄下的執行檔案

3、稍加修改運作

之是以感覺要修改samples/basci程式,是因為發現函數調用aj_infoprintf在終端沒有輸出,于是把aj_infoprintf全部換成aj_printf,再重新執行scons編譯。接下來就執行basic/basic_service.exe和basic/basic_client.exe。不過得先啟動另一個背景程式:sampledaemon.exe,其在alljoyn-14.02.00-thin_client-sdk-windows.zip中,當然也可編譯sampledaemon.cc得到。下面是運作情況:

sampledaemon:

【AllJoyn架構-04】瘦用戶端在windows環境下的運作示例

basic_service:

【AllJoyn架構-04】瘦用戶端在windows環境下的運作示例

basic_client:

【AllJoyn架構-04】瘦用戶端在windows環境下的運作示例

由上可知client端向service發送hello和world,被傳回了hello world,随後就退出了,連接配接中斷,服務端重新建立

4、三大部分作用簡介

daemon:作用就是給兩個瘦用戶端連接配接用的,相當于preinstalled router.這在官方文檔中介紹較詳細

basic_service:首先調用aj_initialize()初使化,接着列印接口的描述資訊,以xml形式,同時注冊對象。在無限循環中,建立service端,等待客戶的消息。一旦消息到來,判斷其id,如果是我們自定義的basic_service_cat,則執行apphandlecat操作,連接配接兩個字元串,最後将連接配接後的字元封裝成消息發送。

basic_client:剛開始與service一樣,在循環中建立用戶端,如果連接配接成功,則将hello及world封裝成消息發送。接着等待服務端的消息,收到後檢測其id,列印收到的字元串

繼續閱讀