這是以socket來作為程序間通訊的方式,並且這個demo是基於Windows寫的,需要包含Windows特定的標頭檔案。
本篇筆記我們把上面這個綜合demo改為:
我們用mqtt來作為程序間通訊的方式,在Linux下程序測試。
先貼程式碼:
json_print程序原始碼json_print.c:
2、執行json_parse、json_print程式:
執行這兩個程式會報錯:
./json_parse: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory/json_print: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory
這是因為 不能找到共享庫檔案libmosquitto.so.1,載入失敗。
因為一般情況下Linux會在/usr/lib路徑中搜索需要用到的庫,而libmosquitto.so.1庫並不在這個路徑下。
解決方法有兩種:一種就是把這個檔案複製至/usr/lib路徑下,但是一般不允許這樣做,一般使用者也不允許往這個路徑裡複製東西。另一種就是把libmosquitto.so.1庫所在路徑增加為動態庫的搜尋路徑,命令為:
按照上述方法新增動態庫搜尋路徑之後就可以正常執行這兩個程式:
ParseResult.txt文本里得到:
實驗成功!
以上就是本次的分享,程式碼寫得比較倉促,如有錯誤,麻煩指出,謝謝!由於準備demo花了挺多時間,包括註釋也寫了很多。所以本篇文章就不做過多的說明,感興趣的朋友可以結合本篇文章的demo及mosquitto/client/pub_client.c、mosquitto/client/sub_client.c這兩個原始檔。
本篇文章的demo: