libumqtt
A Lightweight and fully asynchronous MQTT 3.1.1 client C library based on libev. And provide Lua-binding.
Features
- Lightweight - 27KB(Using glibc,stripped)
- Fully asynchronous - Use libev as its event backend
- Support QoS 0, 1 and 2
- Support ssl - OpenSSL, mbedtls and CyaSSl(wolfssl)
- Code structure is concise and understandable, also suitable for learning
- Lua-binding
Dependencies
- libev
- mbedtls - If you choose mbedtls as your SSL backend
- CyaSSl(wolfssl) - If you choose wolfssl as your SSL backend
- openssl - If you choose openssl as your SSL backend
Install dependent packages
sudo apt install libev-dev libssl-dev liblua5.2-dev
Build and install
git clone --recursive https://github.com/zhaojh329/libumqtt.git
cd libumqtt
mkdir build && cd build
cmake .. && sudo make install && ldconfig
Contributing
If you would like to help making libumqtt better, see the CONTRIBUTING.md file.