Grapple is designed to be a simple network layer, allowing the addition of multiuser features to an application for as little as a dozen lines of code. However, it also allows for more. It features simple client-server networking that keeps all clients aware of all other clients, passworded servers, and data transfer via TCP, UDP, or reliable UDP. Advanced features include network messaging via push, pull, or a combination, multiple methods of querying users, user groups for client bandwidth saving, network load reacting data transmission and retransmission, background pinging to monitor network states, server failover, and a fully functional lobby system.
| Tags | Software Development Libraries Communications Internet Application Frameworks |
|---|---|
| Licenses | LGPL |
| Operating Systems | POSIX Linux |
| Implementation | C |
Recent releases


Changes: The large enhancements in this release are the final completion of the much delayed encryption system for TCP sessions and the enhancement of the callback system to enable multiple callback threads to be running simultaneously, allowing more complex systems to be built if desired. Minor improvements are encryption certificate inspection, the ability to encrypt a lobby, and the addition of connection callbacks to the lobby.


Changes: The major enhancement in this release is synchronized variables, which allow you to change a variable on one client and have all clients automatically reflect the change without the need for messaging. Other updates are description binary blobs, performance improvements all over, bugfixes in the lobby and Win32 port, hardening of server side code to prevent clients crashing servers with overruns, improved handling of large UDP packets, and the addition of CD-Key functionality.


Changes: SSL encryption was completed, so Grapple will now generate its own keys. TURN was added as a nattrav option. Automatic UDP packet splitting was added for huge UDP packets. A number of deadlocks and leaks were fixed.


Changes: This release adds further updates for Win32 compatibility and bugfixes for 64-bit system. Further work has been done on the encrypted network layer, and it is now possible to create encrypted connections, as long as you provide valid keys.


Changes: The half-finished STUN server at the grapple layer has been replaced with a new, complete STUN server at the socket layer. Details are in the new README.nattrav file. Some small changes have been made as an initial effort to port the library to Mac and Win32 platforms.