
https://mndfck.org/svn/socketstream/trunk/example/time/session.h Buffer overflow here: char s[3]; this->time(s); where ::time indexes s[0..3]. There's even a comment: // assume we really got a string of the appropriate size Overall this seems like a nice implementation of blocking, iostream-able socket classes and related plumbing. I know different folks are looking for different things in a network library. The example programs are all well written (modulo that bug above) and concise, which is a tribute to the your implementation. At the same time, it is missing asynchronous and/or non-blocking operations and any means for doing single-threaded I/O multiplexing (e.g. select/poll/etc). If non-blocking I/O were a possibility, I don't think throwing exceptions on EWOUDBLOCK would be performant. -- Caleb Epstein caleb dot epstein at gmail dot com