[TOC]
Introduction
Servus is a small C++ network utility library that provides a zeroconf API, URI parsing and UUIDs.
Servus can be retrieved by cloning the source code. Please file a Bug Report if you find any issues with this release.
Features
Servus provides classes for:
- 128 bit UUIDs
- An URI class to parse strings using generic syntax from RFC3986
- Zeroconf announcement and browsing using Avahi or DNSSD
- Detailed @ref Changelog
Building
Servus is a cross-platform library, the only mandatory dependency is a C++11 compiler. Zeroconf will be available in those platforms were either Avahi or DNSSD are available, otherwise an empty dummy backend is used. Servus uses CMake to provide a platform-independent build configuration. The following platforms and build environments have been tested:
- Linux: Ubuntu 16.04, RHEL 6.8 (Makefile, Ninja)
- Windows: 7 (Visual Studio 2012)
- Mac OS X: 10.9 (Makefile, Ninja)
The following external, pre-installed optional dependencies are used:
- Boost.Test to build unit tests
- Avahi (avahi-client) or DNSSD (Apple Bonjour) for zeroconf
- Qt5 Core for servus::qt::ItemModel
- Qt5 Widgets for servusBrowser tool
Building from source is as simple as:
git clone https://github.com/HBPVIS/Servus.git
mkdir Servus/build
cd Servus/build
cmake -GNinja ..
ninja