GithubHelp home page GithubHelp logo

servus's Introduction

[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

Developement Dependencies

Linux:

Avahi SDK, client and utils

sudo apt-get install avahi-daemon avahi-discover avahi-utils libnss-mdns mdns-scan
sudo apt install libavahi-client-dev
sudo apt install libavahi-core-dev

Windows:

MAC:

  • Cmake: brew install cmake
  • Xcode - Bonjour DNSSD SDK is coming with Xcode.
  • CLion can be used to build.

Building from source is as simple as:

git clone --recursive https://github.com/janbajanadaqri/Servus.git
git submodule update --init
mkdir Servus/build
cd Servus/build
---linux and MAC makefile
cmake ..
make -j 8
---linux and MAC Ninja
cmake -GNinja ..
ninja
---windows Microsoft Visual Studio is recomanded.

Zeroconf Browsers

Linux:

  • Avahi Zeroconf Browser - desktop app

or

avahi-browse -d local _daqri-test._tcp --resolve

MAC and Windows:

dns-sd -B _daqri-test._tcp .
dns-sd -R JanBajana-test _daqri-test local 4710 []

servus's People

Contributors

tribal-tec avatar janbajanadaqri avatar eile avatar ptoharia avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.