test_package.c 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include "MQTTClient.h"
  5. #define ADDRESS "tcp://localhost:1883"
  6. #define CLIENTID "ExampleClientSub"
  7. #define TOPIC "MQTT Examples"
  8. #define PAYLOAD "Hello World!"
  9. #define QOS 1
  10. #define TIMEOUT 10000L
  11. volatile MQTTClient_deliveryToken deliveredtoken;
  12. void delivered(void *context, MQTTClient_deliveryToken dt)
  13. {
  14. printf("Message with token value %d delivery confirmed\n", dt);
  15. deliveredtoken = dt;
  16. }
  17. int msgarrvd(void *context, char *topicName, int topicLen, MQTTClient_message *message)
  18. {
  19. int i;
  20. char *payloadptr;
  21. printf("Message arrived\n");
  22. printf(" topic: %s\n", topicName);
  23. printf(" message: ");
  24. payloadptr = message->payload;
  25. for (i = 0; i < message->payloadlen; i++)
  26. {
  27. putchar(*payloadptr++);
  28. }
  29. putchar('\n');
  30. MQTTClient_freeMessage(&message);
  31. MQTTClient_free(topicName);
  32. return 1;
  33. }
  34. void connlost(void *context, char *cause)
  35. {
  36. printf("\nConnection lost\n");
  37. printf(" cause: %s\n", cause);
  38. }
  39. int main(int argc, char *argv[])
  40. {
  41. printf("\nCreating MQTTClient\n");
  42. MQTTClient client;
  43. MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer;
  44. MQTTClient_create(&client, ADDRESS, CLIENTID,
  45. MQTTCLIENT_PERSISTENCE_NONE, NULL);
  46. conn_opts.keepAliveInterval = 20;
  47. conn_opts.cleansession = 1;
  48. MQTTClient_setCallbacks(client, NULL, connlost, msgarrvd, delivered);
  49. MQTTClient_destroy(&client);
  50. printf("\nExiting\n");
  51. return 0;
  52. }