libpaho-mqtt c 庫使用注意事項

mqtt斷線重連:

需要在連接的時候設置三個參數.

重連間隔單位爲秒。

 

在例程裏

MQTTAsync client;

MQTTAsync_connectOptions conn_opts = MQTTAsync_connectOptions_initializer;

MQTTAsync_message pubmsg = MQTTAsync_message_initializer;

MQTTAsync_token token;

int rc;

MQTTAsync_create(&client, ADDRESS, CLIENTID, MQTTCLIENT_PERSISTENCE_NONE, NULL);

MQTTAsync_setCallbacks(client, NULL, connlost, NULL, NULL);

conn_opts.keepAliveInterval = 20;

conn_opts.cleansession = 1;

conn_opts.onSuccess = onConnect;

conn_opts.onFailure = onConnectFailure;

conn_opts.context = client;

if ((rc = MQTTAsync_connect(client, &conn_opts)) != MQTTASYNC_SUCCESS)

{

printf("Failed to start connect, return code %d\n", rc);

exit(EXIT_FAILURE);

}

conn_opts的設置一定要緊跟在MQTTAsync_connect()之前MQTTAsync_create()之後,否則會在發送或者訂閱時產生段錯誤.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章