C++ Comet web server with bindings to C++ and Ruby / Rack
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
source async_write_some() with a zero size buffer is well defined. Fixing #23 Apr 25, 2016
Gemfile.lock travis ci Dec 24, 2014


Sioux is a framework to build Comet Web-Servers

It is based around a publish subscribe paradigm. A web client want to display a special set of data. If that data changes, the client want to get informed about that changes.

The project currently supports two protocols. The first is Bayeux, a protocol mainly used by the cometd project and pubsub/http an own protocol under development. The main difference between Bayeux and pubsub/http is, that Bayeux focuses on publishing messages, while pubsub/http is developed with communication object states in mind.

On the server side, a binding for C++ exists and a binding for Ruby/Rack (that makes it's easy to use it with Rails).


  • Rake is used as build system
  • boost (1.57.)
  • cometd client library (only for Bayeux protocol needed)
  • jQuery
  • node.js (for Testing the CoffeeScript pubsub/http client)

getting "started"

Currently this isn't an "out of the box" product. I've build the project under OS X and Linux. To get an overview, checkout the source and use rake docu to build doxygen documentation. rake -T gives an overview of the available build targets. If you need help, send me a message.


Have a look at /source/tests/chat.cpp as a C++ chat example and /source/tests/rack_chat.rb for the same in ruby.


Sioux is licensed under MIT Licence.