Javelin is a reliable message-based network library written in C (C11). It is primarily designed for use in client/server games.
Work in progress
Javelin is incomplete, and may have bugs. It's primary purpose is for use in my own multiplayer game projects, and will evolve as it gets more use.
- Cross platform
- Client/server connection management
- Message-based API (for sending large numbers of small messages, rather than whole packets)
- Reliable message ordering (messages are guaranteed to arrive in the order you send them)
- Packet salting, for protection against basic attacks
- Unit tests
- Documentation
- Allow sending of unreliable messages
- Add bandwidth tracking and throttling
Copy javelin.h
and javelin.c
into your project source tree.
See example.c
for a simple example.