1. 程式人生 > 其它 >VC++ 呼叫C# dll 回撥函式,實現MQTT協議通訊

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