libcomm - Communications Abstraction Library
libcomm is a small library of C routines that provide an abstraction layer for network (or local) communications. The library also provides a set of functions to make handling large numbers of connections (1000s) simple and efficient.
The entire library was written from scratch and is licensed under the GNU GPL, and will always be that way.
Library Features
- Completely covered by the GNU GPL license
- Support for connections using TCP, UNIX, OpenSSL and/or GNUTLS
- Conection "group" implementation for handling large numbers of non-blocking connections within single or multithreaded applications
Documentation
Several examples of using the various library functions can be found in the tests/ directory of the source tarball.
Requirements
The primary development environment is Linux, GCC and glibc, but the code should compile with any good C development environment.
This library also depends on libcutil.
To compile the OpenSSL and/or GNUTLS plugins, you need to install the openssl and/or GNUTLS libraries.
The library will compile under win32/win64, using MinGW(www.mingw.org) and the included makefiles(makefile.w32). Using MinGW as a cross-compiler is also supported.
Installation using our repositories
For RPM-based distributions (CentOS/RockyLinux/RHEL EL5-EL9) you can install this package with the following commands:
sudo wget -O /etc/yum.repos.d/ocs.repo https://www.opencomputingsolutions.com/pub/rpms/centos/ocs-centos.repo
sudo yum -y install libcomm
For Ubuntu-based distributions you can install this package with the following commands:
All Releases (signing key import)
sudo mkdir -p /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/ocs.asc https://www.opencomputingsolutions.com/pub/deb/ubuntu/pubkey.gpg
Jammy Release
sudo wget -O /etc/apt/sources.list.d/ocs-ubuntu-jammy.list https://www.opencomputingsolutions.com/pub/deb/ubuntu/ocs-ubuntu-jammy.list
sudo apt-get update
sudo apt-get -y install libcutil1
Focal Release
sudo wget -O /etc/apt/sources.list.d/ocs-ubuntu-focal.list https://www.opencomputingsolutions.com/pub/deb/ubuntu/ocs-ubuntu-focal.list
sudo apt-get update
sudo apt-get -y install libcomm1
Bionic Release
sudo wget -O /etc/apt/sources.list.d/ocs-ubuntu-bionic.list https://www.opencomputingsolutions.com/pub/deb/ubuntu/ocs-ubuntu-bionic.list
sudo apt-get update
sudo apt-get -y install libcomm1
Download
The current version of libcomm is 0.1.8 and sources are available in the following location: https://www.opencomputingsolutions.com/pub/src/