If you want a very light, C++ only, iostreams-style wrapper around BSD sockets, you could consider skstream - it's simple and works well. Of course, the iostreams interface itself leaves much to be desired. skstream does wrap select and the very low-level socket handling up for you quite nicely, though.