Unified Communication C++ Network Library

Looking for lightweight C++ TCP server?

Unicomm is a free open source multiplatform C++ framework that allows to create application level protocols over TCP transport. The main purpose is to focus on business logic and make communication process transparent to user. Unicomm simplifies connection management like accepting incoming connections and handling disconnects. It provides mechanisms to construct custom logic protocols. Predefined xml and binary formats are also provided as option. Unicomm provides modularity and clear design of the application. Protocols implemented by using unicomm are flexible to changes and easily modifiable. Unicomm supports SSL, it’s lightweight and provides hundreds of concurrent connections processing (without considering business logic level as if unicomm handlers would be empty) on decent hardware.

GitHub LogoSourceForge Logo

Unicomm is based on boost, stl and compiled with msvc 8.0, 9.0, 10.0, gcc 4.2. It is supplied with Boost.Build scripts and Microsoft Visual Studio 2005, 2008, 2010 project files. Unicomm is tested under Windows and Ubuntu Linux.

Distributed under the Boost Software License, Version 1.0.

Why you may be would like to use unicomm.

  • Compiled with MSVC 8.0 – 10.0 and GCC 4.2+;
  • Suitable for platforms having limited resources like single board computers (~ 10Mb per 100 connections);
  • No socket level details (but if necessary sockets available);
  • Graceful server stop;
  • Based on stl and boost;
  • Not necessary to waste time to handle communication level details;
  • Optional predefined XML and binary formats provided;
  • One of your project priority is the network traffic reducing;
  • Write the server and get the client completed in case of “mirror” rules;
  • Easy to make client side to provide load tests of your server;
  • Asynchronous event driven model and multithreading support;
  • Easy-to-start and easy-to-use.


If you need any support regarding project, please, fill free to post your questions into Google Groups or into Mailing List.
Fork me on GitHub

Please log in to vote

You need to log in to vote. If you already had an account, you may log in here

Alternatively, if you do not have an account yet you can create one here.