User Ratings

ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5

Rate This Project

Login To Rate This Project

User Reviews

  • it is easy to use under both windows and linux

    1 user found this review helpful.
  • gracias

  • Excellent library. Easy to use, easy to install and effective. Good documentation of API and examples of use. I haven't seen any of the issues stated by Oelbox (maybe outdated review??). I have been reviewing many socket libraries for a personal project and I'm picking this one to use with Google's protocol buffers (an excellent serialisation library I must recommend) for the networking functionality. Two thumbs up!!

    1 user found this review helpful.
  • I haven't used this library, merely glanced at the source, but in my opinion this library has several problems. First, there is potential of memory leaks as it throws exceptions using the new operator. This is generally discouraged as this leaves it up to the catcher to release the memory. Furthermore in several places, memory is allocated by new, but not released (seems mainly to happen in windows when an exception is thrown as the library handles memory different if _MS_VER is defined). Also for windows the library allocates arrays (buffer = new char[bufferSize];) but then uses delete operator instead of delete[] operator, this is undefined behavior according to the c++ standard. Also in my opinion some of the design choices for this library are strange. For example, the socket class methods are not content agnostic, so the read-function only supports non-binary data. For binary data you need to call rawRead. As there is no documentation this might not be obvious for the user of this library. This also generally makes no sense as the socket-class should not differentiate on what the message contains, neither should the user have to. The use of "using namespace std;" in the header files is also problematic, as is the obvious copy-paste programming used quite extensively throughout the library. I realize that this is an alpha release, but there seems to be so many problems with this library that it cannot be considered for anything else than a curiosity.