C++ Sockets Changelog

What's new in C++ Sockets 2.3.9.9

Feb 11, 2014
  • A bug that prevented HttpGetSocket from exiting normally if a zero byte resource was fetched was fixed.
  • Some missing includes were included for newer compilers.

New in C++ Sockets 2.3.9.7 (Aug 17, 2011)

  • Detach threads that never stopped has been fixed.
  • Detaching from OnAccept method now works.
  • Time to launch a detached thread has been reduced.

New in C++ Sockets 2.3.9.6 (Jul 26, 2011)

  • A timing problem has been solved in detached sockets.
  • More configure options have been added.
  • Lost state flags are now retrieved in sockethandler.
  • The AJP client socket has been updated.
  • The JSON parser has been updated.

New in C++ Sockets 2.3.9.3 (Jul 15, 2010)

  • Multithread support was added in sockethandler.
  • Build problems in mingw/cygwin were fixed.

New in C++ Sockets 2.3.9.2 (Mar 18, 2010)

  • More internal restructuring of SocketHandler.
  • The Get() method has been removed. Set() has been split into three:
  • ISocketHandler_Add(), ISocketHandler_Mod(), and ISocketHandler_Del().
  • New methods defined in ISocketHandler interface to support different
  • models of socket io: ISocketHandler_Select(), MaxCount().
  • Removed Set() method from Socket class.
  • Implemented SocketHandlerEp using epoll for linux only.
  • reinterpret_cast added in ListenSocket for ipv6 address struct.
  • HttpPostSocket member variable holding http headers (m_fields) is now
  • protected (changed from private).
  • Repaired Reconnect function in sockethandler.

New in C++ Sockets 2.3.9.1 (Feb 10, 2010)

  • Major restructure of sockethandler internal code. Using thread- and memorysafe clib/c runtime functions.

New in C++ Sockets 2.3.7 (Oct 12, 2009)

  • A hanging write call when using SSL was fixed.
  • A crash when trying to increase an STL iterator beyond its limits was fixed.
  • Compilation problems caused by missing #include statements or #include statements inside the library namespace were fixed.

New in C++ Sockets 2.3.6 (Aug 31, 2009)

  • The openssl flags were modified to make things flow smoother.
  • The license was modified to allow openssl.
  • A unique socket identifier and a new valid check were added.
  • Filesystem path abstraction methods were added.
  • A Changelog file was added to the distribution.
  • The INSTALL was renamed to README.
  • The pkgconfig directory and *.pc definition file were added.

New in C++ Sockets 2.3.5 (May 21, 2009)

  • Added method(s) in UdpSocket to set default interface to be used for multicast.
  • Added flag for position independent code for linux-x86-32 architecture (see
  • Makefile.Defines.linux-x86-32).
  • Added missing includes (on some distributions/gcc versions).
  • SetUri in HttpRequest no longer URLDecodes the entire url.
  • Fix for static variables in SSLInitializer.
  • Fix for new version of openssl (const SSLxx_method()).
  • Fix for getnameinfo.
  • Modified Utility::Uri parser class so it also splits the url in path /
  • querystring parts.

New in C++ Sockets 2.3.4 (May 13, 2009)

  • Fixed namespace and include problems.
  • Changed to IMutex in one place.
  • Added IFileUpload interface to HttpdForm but not using it yet.

New in C++ Sockets 2.3.3 (Dec 23, 2008)

  • A deadlock in SSLInitializer that was introduced in 2.3.2 was fixed.
  • A check was added for when select() returns -1, indicating that one of the file descriptors has gone bad.
  • The check rebuilds the fd_set used by select().
  • A bug was fixed in HttpGetSocket: one of the constructors had no support in HttpClientSocket.
  • Bad #include directives in Utility were corrected.

New in C++ Sockets 2.3.2 (Nov 7, 2008)

  • A thread-safe list of the SSL initializer, SSL contexts, and OpenSSL error text retrieval.
  • An interface for the Mutex class adds the ability for others to implement the mutex functionality using other approaches.
  • The FromUtf8 method has been moved from XmlNode to Utility.

New in C++ Sockets 2.3.1 (Oct 20, 2008)

  • The Remove() method in SocketHandler was changed from private to protected. Utility::Stack was added, which returns a stack walk (currently in Linux only).
  • The $(DESTDIR) variable was added in the Makefile for more flexible installation.
  • The timeout value is now reset before OnTimeout() is called, making it possible to set a new timeout value in the OnTimeout() method.