閱讀730 返回首頁    go 阿裏雲 go 技術社區[雲棲]


【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,打印收到的字符串

最後更新:2017-04-03 05:39:04

  上一篇:go kafka詳解三:開發Kafka應用
  下一篇:go VO對象通過groovy模板映射XML文件