- 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.
|