Skip to content

Commit

Permalink
Merge pull request #88 from redboltz/update_to_mqtt_cpp
Browse files Browse the repository at this point in the history
Updated to 1.0.5.
  • Loading branch information
redboltz authored Aug 24, 2017
2 parents 52142a5 + 68f7e55 commit dd83fc9
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 10 deletions.
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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)
Expand Down
56 changes: 46 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,79 @@
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 <mqtt_client_cpp.hpp>
```
For servers:
```c++
#include <mqtt_server_cpp.hpp>
```

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
----

You can build tests and examples as follows:


At mqtt_client_cpp directory
At mqtt_cpp directory

```
mkdir build
Expand All @@ -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.

0 comments on commit dd83fc9

Please sign in to comment.