【AllJoyn框架-04】瘦客戶端在windows環境下的運行示例

1、介紹

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


2、下載源碼並編譯

這裏可下載瘦客戶端ajtcl源碼,目前的版本已達14.02.下載成功後,解壓縮,從VS命令行進入源碼目錄,執行下面命令:

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:


basic_service:


basic_client:


由上可知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,打印收到的字符串

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章