Carter Turn Sockets provide a basic interface for POSIX TCP sockets. Many defaults are assumed in order to simplify the interface. The library is available at Github
. tclient.cpp, tserver.cpp, and tsecure.cpp provide tests and examples of usage. AES encryption is possible, and uses the free GnuTLs
library. Note that while the messages are encrypted, they are not timestamped (by default), so an intercepted and resent message will be indistinguishable from a repeated message. You can work around this, but Carter Turn Sockets do not provide this by default. At the moment, the encryption uses CBC.
Here are examples of basic client-server usage: