DyConnect is a cross-platform networking library, intended to simplify the development of networked programs. It's written in C++, and provides multithreaded TCP and UDP networking. DyConnect supports IPv4 and IPv6, and works on multiple operating systems and architectures.
DyConnect's low level classes give you direct control over each byte that's sent over the network. There are no custom protocols, and you can use DyConnect to communicate with non-DyConnect programs. DyConnect's multi-threaded TCP engine allows you to send data with a non-blocking function, while still ensuring that every byte will be sent.
UDP is implemented with a simple single-threaded model, to reduce the latency of time sensitive transmissions.
Many supporting functions are provided, such as compression, hashing, timers and the ability to convert variables into a string of bytes. Binary data is automatically converted to network order.
The higher-level Dasyne (DAta SYnchronization over NEtwork) networking is built on top of the low level DyConnect classes. TCP data is split into distinct messages, which further simplifies network programming. If you receive a message, you know you've received the whole message. Integrating both UDP and TCP into a single program is much easier, as both kinds of messages are handled in the same way. The API is simplified compared to the low level classes.
All these good things are accomplished by using custom protocols, so both the server and clients will need to be implemented with Dasyne.
Dasyne has support for optional modules. These are custom classes that solve some specific networking problem. For example, the Synchronized Variables module allows the server to create variables that are periodically updated for all clients.
You just select the modules you want (if any), and plug them into your program.