This manual documents GNU Serveez 0.2.1, released 25 February 2013.
GNU Serveez is a server framework. It provides routines and help for implementing IP-based servers (currently TCP, UDP and ICMP). It supports named pipes for all connection-oriented protocols.
We think it is worth the effort because many people need server functionality within their applications. However, many people experience problems with select(2) or poll(2) loops, and with non-blocking operations.
GNU Serveez demonstrates various aspects of advanced network programming in a portable manner. It is known to compile and run on GNU/Linux systems, as well as on other 32-bit and 64-bit flavours of Unix and on Microsoft Windows (9x/ME/NT/2000/XP).
You can use it for implementing your own servers or for understanding how certain network services and operations work.
The package includes a number of servers that work already: an HTTP server, an IRC server, a Gnutella spider and some others. One of the highlights is that you can run all protocols on the same port. The application itself is single threaded but it uses helper processes for concurrent name resolution and ident lookups.
|• Using Serveez:||Startup and command line options|
|• Concept:||Conceptual thoughts|
|• Server:||Server implementation|
|• Coserver:||Coserver implementation|
|• Embedding:||Using libserveez in your own program|
|• Porting issues:||Support of different platforms and operating systems|
|• Bibliography:||Useful documents we refer to|
|• GNU Free Documentation License:|