Socket Streams Library

Last update: Thu May 21 2005

This is the Socket Streams Library home-page.

This library is an implementation of the C++ Standard Library IOStreams over the traditional POSIX socket network interface.

Right now the library alpha quality, as I have not completely made my mind about the interface and so it changes sometimes. But much has not been changed for a while.

The latest release is 0.6.0. I really like the new address classes and the new resolver class. Give it a try. The API has changed a lot, but also has stabilized a lot. Many of my design have finally settled in my mind.

News

I'm really busy. I'm in the process of writing my graduation paper, and the proposed project is a memory manager simulator whose implementation is still half-ways. Also, I'm working (to pay the b33r). So, time is short.

No, the project was not forgotten. Any ideas about future directions will be gladly accepted on the TODO list. And maybe on my next torrent of commits will have a surprise or two.

These days I've been more active in writing papers about the design process of the library, with rationale for decisions made, and implementing experimental applications based on known protocols to test out these design choices in practice; the examples in the library source include multi-threaded servers for the echo, discard, chargen, quote, daytime and time protocols, together with the template project I used to create each. These depend on Boost, and can be found in the SVN repository.

The Project

The main goal of this projectis elegance and correctness. It is my opinion that the mechanisms offered by the C++ language, and the facilities provided by the standard libraries and other libraries such as Boost, improve much the software development experience of the human programmer.

So that the goal of the library can be stated as to provide to the programmer a more natural way of expressing the basic processes of communication between entities over a medium, talking in a certaing language (or protocol). Eventually I'll have more sophisticated examples based on this library to show what I mean.

I'm not updating the CVS server anymore. CVS sux.

The SVN repository I work in is located here.

Check the TODO file for my ideas of what should come next. Please contribute your own ideas!

For installation and use, see the README.

The project page on Sourceforge.

See the Doxygen documentation.

Other networking projects

I other projects related to sockets and the standard library. One of them is the socket++ project that aims at basically the same functionality.

There is also more complex stuff, like the giallo project, born out of discussion in the Boost project. I've participated a little in that discussion but I feel they just... talk too much.

About the author

I can be contacted at pedro.lamarao@mndfck.org.

CC-GNU LGPL
This software is licensed under the CC-GNU LGPL.

SourceForge.net Logo

Valid XHTML 1.0!