Advertisement
Guest User

Untitled

a guest
Oct 21st, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. #include "stdio.h"
  2. #include "stdlib.h"
  3. #include "string.h"
  4. #include "MQTTClient.h"
  5.  
  6. #define ADDRESS "tcp://localhost:1883"
  7. #define CLIENTID "ExampleClientPub"
  8. #define TOPIC "MQTT Examples"
  9. #define PAYLOAD "Hello World!"
  10. #define QOS 1
  11. #define TIMEOUT 10000L
  12.  
  13. int main(int argc, char* argv[])
  14. {
  15. sample_mem_persistence persist;
  16. mqtt::client client(ADDRESS, CLIENTID, &persist);
  17.  
  18. callback cb;
  19. client.set_callback(cb);
  20.  
  21. mqtt::connect_options connOpts;
  22. connOpts.set_keep_alive_interval(20);
  23. connOpts.set_clean_session(true);
  24.  
  25. try {
  26. std::cout << "Connecting..." << std::flush;
  27. client.connect(connOpts);
  28. std::cout << "OK" << std::endl;
  29.  
  30. // First use a message pointer.
  31.  
  32. std::cout << "Sending message..." << std::flush;
  33. mqtt::message_ptr pubmsg = std::make_shared(PAYLOAD1);
  34. pubmsg->set_qos(QOS);
  35. client.publish(TOPIC, pubmsg);
  36. std::cout << "OK" << std::endl;
  37.  
  38. // Now try with itemized publish.
  39.  
  40. std::cout << "Sending next message..." << std::flush;
  41. client.publish(TOPIC, PAYLOAD2, strlen(PAYLOAD2)+1, 0, false);
  42. std::cout << "OK" << std::endl;
  43.  
  44. // Now try with a listener, but no token
  45.  
  46. std::cout << "Sending final message..." << std::flush;
  47. pubmsg = std::make_shared(PAYLOAD3);
  48. pubmsg->set_qos(QOS);
  49. client.publish(TOPIC, pubmsg);
  50. std::cout << "OK" << std::endl;
  51.  
  52. // Disconnect
  53. std::cout << "Disconnecting..." << std::flush;
  54. client.disconnect();
  55. std::cout << "OK" << std::endl;
  56. }
  57. catch (const mqtt::persistence_exception& exc) {
  58. std::cerr << "Persistence Error: " << exc.what() << " ["
  59. << exc.get_reason_code() << "]" << std::endl;
  60. return 1;
  61. }
  62. catch (const mqtt::exception& exc) {
  63. std::cerr << "Error: " << exc.what() << " ["
  64. << exc.get_reason_code() << "]" << std::endl;
  65. return 1;
  66. }
  67.  
  68. return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement