資源簡介
mqtt發(fā)布和訂閱,使用方法:1)開始mqtt服務(wù)端;2編譯fake_user_publish和fake_user_sub;3運(yùn)行兩個(gè)可執(zhí)行文件;效果:當(dāng)fake_user_publish發(fā)布一個(gè)內(nèi)容時(shí),fake_user_sub訂閱進(jìn)程會(huì)收到相關(guān)的topic和payload。驗(yàn)證通過!

代碼片段和文件信息
#include?
#include?
#include?
#include?
#define?HOST?“l(fā)ocalhost“
#define?PORT??1883
#define?KEEP_ALIVE?60
#define?MSG_MAX_SIZE??512
bool?session?=?true;
int?main()
{
????char?buff[MSG_MAX_SIZE];
????struct?mosquitto?*mosq?=?NULL;
????
????mosquitto_lib_init();
???
????mosq?=?mosquitto_new(NULLsessionNULL);
????if(!mosq){
????????printf(“create?client?failed..\n“);
????????mosquitto_lib_cleanup();
????????return?1;
????}
???
????if(mosquitto_connect(mosq?HOST?PORT?KEEP_ALIVE)){
????????fprintf(stderr?“Unable?to?connect.\n“);
????????return?1;
????}
????
????int?loop?=?mosquitto_loop_start(mosq);
????if(loop?!=?MOSQ_ERR_SUCCESS)
????{
????????printf(“mosquitto?loop?error\n“);
????????return?1;
????}
????while(fgets(buff?MSG_MAX_SIZE?stdin)?!=?NULL)
????{
????????????????/*·¢2???*/
????????????????mosquitto_publish(mosqNULL“Gai:“strlen(buff)+1buff00);
????????????????memset(buff0sizeof(buff));
????}
????mosquitto_destroy(mosq);
????mosquitto_lib_cleanup();
????return?0;
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????1052??2018-11-28?15:56??mqtt-client\fake_user_publish.c
?????文件???????1987??2018-11-28?15:54??mqtt-client\fake_user_sub.c
?????目錄??????????0??2018-11-29?10:53??mqtt-client
-----------?---------??----------?-----??----
?????????????????3039????????????????????3
評論
共有 條評論