CSocketServer v1.0.2.7

Version: 1.0.2.7
Status: Pre-release
Released: 2008-11-02
License: MIT License
No downloadable files are available for this release but you can obtain the source code from GitHub.
Source-Code

This is open source under the MIT License. You can obtain the source code for this specific version from GitHub or browse the releases for source code associated with specific versions. If you make any changes which you feel improves this application, please feel free to submit a pull - request.

Release Notes
  • Fixed memory leak caused by CreateThread()
  • Fixed memory leak caused by CreateThread(), this was resolved by using _beginthreadex().
  • Changed all functions to use a custom dynamically sizing type for their buffers.
  • Changed all functions to use a custom dynamically sizing type for their buffers. While this could increase server memory usage, it makes the socket server extremely safe.
  • Send receive buffers are now automatically allocated for each thread.
  • Added "max inactivity" timeout.
  • Added "max inactivity" timeout. Peer will be automaticly disconnected after x seconds.
  • Added many new events (delegates) that allow complete control over connection / data flow.
  • Added many new events (delegates) that allow complete control over connection / data flow.



    Some of which include:
    OnAccept
    OnAcceptConnect
    OnAfterDePacketize
    OnAfterPacketize
    OnBeforeDePacketize
    OnBeforePacketize
    OnConnect
    OnRecv
    OnSend
    OnStart
    OnStop
    ClientHandlerThread
    OnBeginClientThread
    OnDisconnect
    OnEndClientThread
    OnError

  • Added internal memory handling.
  • Added internal memory handling. Can also be used with the CMemoryPool class.
  • Added generic pointers within the class and for each client connection.
  • Added generic pointers within the class and for each client connection, for you programming convenience.
  • The socket server will now handle graceful and forceful (if necessary) disconnection of existing connection on class shutdown.
  • Various contention & thread locking tweaks / fixes.
  • Removed raw mode functionality, the class is now completely proprietary packet driven.
  • Lots of code review, comments and various bug fixes.