From 68f7e55cc2ed0734338778c7e44e3bf0a929a1c4 Mon Sep 17 00:00:00 2001 From: Takatoshi Kondo Date: Thu, 24 Aug 2017 16:59:52 +0900 Subject: [PATCH] Updated to 1.0.5. Renamed to `mqtt_cpp` from `mqtt_client_cpp`. --- CHANGELOG.md | 13 ++++++++++++ README.md | 56 ++++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 59 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d5448065f..018efc5a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +## 1.0.5 +* Renamed to `mqtt_cpp` from `mqtt_client_cpp`. (#88) +* Improved tests. (#87) +* Added MQTT server functionality (#84) +* Supressed warnings. (#82) +* Fixed WebSocket close. (#81) +* Added tls context settings. (#80, #83) +* Fixed force_disconnect. (#79) +* Removed TLS manual shutdown call. (#78) +* Fixed timer management algorithm. (#76) +* Fixed pingreq sending timing. (#75) +* Added bad timming mqtt command receiving guard. (#70) + ## 1.0.4 * Added offline publish (Clean Session: false, qos: at_least_once, exactly_once). (#69) * Prepared for OpenSSL 1.1.0 support. (#68) diff --git a/README.md b/README.md index f1fb78b4e..11e619ba2 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,71 @@ -MQTT client for C++14 based on Boost.Asio +MQTT client/server for C++14 based on Boost.Asio ========================================= -Version 1.0.4 [![Build Status](https://travis-ci.org/redboltz/mqtt_client_cpp.svg?branch=master)](https://travis-ci.org/redboltz/mqtt_client_cpp) [![Build status](https://ci.appveyor.com/api/projects/status/21a267hd34s0kqu5/branch/master?svg=true)](https://ci.appveyor.com/project/redboltz/mqtt-client-cpp/branch/master) +Version 1.0.5 [![Build Status](https://travis-ci.org/redboltz/mqtt_cpp.svg?branch=master)](https://travis-ci.org/redboltz/mqtt_cpp) [![Build status](https://ci.appveyor.com/api/projects/status/21a267hd34s0kqu5/branch/master?svg=true)](https://ci.appveyor.com/project/redboltz/mqtt-client-cpp/branch/master) Overview -------- -mqtt_client_cpp is a header only library. It requires C++14 and the Boost Libraries 1.57.0 or later (See [#33](https://github.com/redboltz/mqtt_client_cpp/issues/33)). The only feature that mqtt_client_cpp uses C++14 is binary literals. e.g.) 0b00001111 +mqtt_cpp is a header only library. It requires C++14 and the Boost Libraries 1.57.0 or later (See [#33](https://github.com/redboltz/mqtt_cpp/issues/33)). The only feature that mqtt_cpp uses C++14 is binary literals. e.g.) 0b00001111 -You may be able to use mqtt_client_cpp on C++11 with binary literal extension environment such as g++ and clang++. +You may be able to use mqtt_cpp on C++11 with binary literal extension environment such as g++ and clang++. -Add mqtt_client_cpp/include to your include path. Then, include mqtt_client_cpp.hpp as follows: +Add mqtt_cpp/include to your include path. Then, include `mqtt_cpp.hpp` and/or `mqtt_server_cpp.hpp" as follows: +For clients: ```c++ #include ``` +For servers: +```c++ +#include +``` You can compile your program as follows: ``` -g++ -std=c++14 -Ipath_to_mqtt_client_cpp/include -DMQTT_NO_TLS no_tls.cpp -lboost_system -lpthread +g++ -std=c++14 -Ipath_to_mqtt_cpp/include -DMQTT_NO_TLS no_tls.cpp -lboost_system -lpthread ``` ``` -g++ -std=c++14 -Ipath_to_mqtt_client_cpp/include tls.cpp -lboost_system -lssl -lcrypto -lpthread +g++ -std=c++14 -Ipath_to_mqtt_cpp/include tls.cpp -lboost_system -lssl -lcrypto -lpthread ``` Example ------- -See [example/no_tls.cpp](https://github.com/redboltz/mqtt_client_cpp/blob/master/example/no_tls.cpp) and [example/tls.cpp](https://github.com/redboltz/mqtt_client_cpp/blob/master/example/tls.cpp) +* NO TLS + * Client + * TCP + * [example/no_tls_client.cpp](https://github.com/redboltz/mqtt_cpp/blob/master/example/no_tls_client.cpp) + * WebSocket + * [example/no_tls_ws_client.cpp](https://github.com/redboltz/mqtt_cpp/blob/master/example/no_tls_ws_client.cpp) + * Server + * TCP + * [example/no_tls_server.cpp](https://github.com/redboltz/mqtt_cpp/blob/master/example/no_tls_server.cpp) + * WebSocket + * [example/no_tls_ws_server.cpp](https://github.com/redboltz/mqtt_cpp/blob/master/example/no_tls_ws_server.cpp) + * Client and Server + * TCP + * [example/no_tls_both.cpp](https://github.com/redboltz/mqtt_cpp/blob/master/example/no_tls_both.cpp) + * WebSocket + * [example/no_tls_ws_both.cpp](https://github.com/redboltz/mqtt_cpp/blob/master/example/no_tls_ws_both.cpp) +* TLS + * Client + * TCP + * [example/tls_client.cpp](https://github.com/redboltz/mqtt_cpp/blob/master/example/tls_client.cpp) + * WebSocket + * [example/tls_ws_client.cpp](https://github.com/redboltz/mqtt_cpp/blob/master/example/tls_ws_client.cpp) + * Server + * TCP + * [example/tls_server.cpp](https://github.com/redboltz/mqtt_cpp/blob/master/example/tls_server.cpp) + * WebSocket + * [example/tls_ws_server.cpp](https://github.com/redboltz/mqtt_cpp/blob/master/example/tls_ws_server.cpp) + * Client and Server + * TCP + * [example/tls_both.cpp](https://github.com/redboltz/mqtt_cpp/blob/master/example/tls_both.cpp) + * WebSocket + * [example/tls_ws_both.cpp](https://github.com/redboltz/mqtt_cpp/blob/master/example/tls_ws_both.cpp) Test ---- @@ -37,7 +73,7 @@ Test You can build tests and examples as follows: -At mqtt_client_cpp directory +At mqtt_cpp directory ``` mkdir build @@ -62,5 +98,5 @@ make doxygen License ------- -mqtt_client_cpp is licensed under the Boost Software License, Version 1.0. See +mqtt_cpp is licensed under the Boost Software License, Version 1.0. See the [`LICENSE_1_0.txt`](./LICENSE_1_0.txt) file for details.