VC++ 呼叫C# dll 回撥函式,實現MQTT協議通訊
需求:要實現MQTT的通訊,最終需要變成 MFC 的dll 供別人呼叫
困難:c++的MQTT庫的編譯遇到很多障礙,而且有一個現成的c# 寫的MQTT通訊例子,而且已經驗證過可以通訊
解決辦法:使用 c# 完成MQTT通訊,再用c++呼叫
一:準備除錯環境,準備MQTT伺服器,準備MQTT客戶端,MQTT服務端我使用 Apollo伺服器,客戶端使用MQTTX 客戶端工具
支援這個伺服器執行需要 jdk 環境,版本是jdk 8 點多
https://pan.baidu.com/s/1O4ph-ttUr_KaQzBcERoUVg 提取碼:oofx
jdk 安裝後需要配置環境變數
系統變數中
Path 中 增加C:\Program Files (x86)\Java\jdk1.8.0_291\bin C:\Program Files (x86)\Java\jre1.8.0_291\bin
增加JAVA_HOMEC:\Program Files (x86)\Java\jdk1.8.0_291
Apollo伺服器下載 參考:https://blog.csdn.net/lilealyh/article/details/79867919
https://pan.baidu.com/s/1bMg5XzJaEP5e75lFdAGNEw 提取碼:qfhd
建立自己的伺服器
下載之後解壓到自己電腦的某個目錄(d:\server)
win+R 進入到命令列進入到一下目錄
cd d:\server\apollo\apache-apollo-1.7.1\bin
執行命令:
apollo.cmd create myBroker
執行完之後就可以在該目錄d:\server\\apollo\apache-apollo-1.7.1\bin生成一個自己的myBroker檔案
啟動伺服器
進入到自己建立的myBroker\bin目錄 cd d:\server\apollo\apache-apollo-1.7.1\bin\myBroker\bin 執行命令: apollo-broker.cmd run登陸到伺服器後臺
在瀏覽器中輸入: 127.0.0.1:61680 即可登陸到後臺伺服器 預設的使用者名稱和密碼是:admin,password