Check Simple Server Objects project summary on SourceForge.
Simple Server Objects (ssobjects) are a set of objects meant to take the chore out of writing server and client applications that use TCP/IP sockets for communicating. It provides a consistent and stable interface. All of the grunt work of polling or selecting sockets, desiding what socket sent what, calling send() again if all data didn't get sent etc, is all taken care of by ssobjects.
ssobjects was designed to be cross plateform compatible. You can compile ssobjects on Linux and on Windows. This makes developing client apps on windows and server apps on Linux a breeze.
The goal of ssobjects is to provide a consistant, and easy to use interface, to be well documented, and widely used.
Simple Server Objects Status
Documentaion is almost complete. Most of the important objects public and protected methods and attributes have been documented. The less important and private will follow shortly after. Examples are a little sparse at the moment, but work is underway to write some excellant examples as well as a tutorial.
The three major sections to ssobjects are sockets, threads, and support objects. Some support objects were taken from other public domain sources, and modifed/fixed up for use in ssobjects. See the copyrights in the respective files.
Threads were originally implimented using Win32 threads, but when ssobjects was ported to Linux, pthreads was adopted for both Linux and Win32. Some names and structure still remain from the Win32 threading model, and libraries I originally used. It was a good model, and other helpper objects were created on top to make using them a little easier to use.
Purposed Changes To ssobjects
Plans however are underway to simplify SimpleServer so it can be used as a server within a server. For example, to create your main server app by diriving it from SimpleServer, then including an admin port. The idea is to allow you create a SimpleServer object that runs along with the main