/spserver

SPServer is a high concurrency server framework library written on C++

Primary LanguageC++OtherNOASSERTION

SPServer is a server framework library written on C++ that implements the Half-Sync/Half-Async and Leader/Follower patterns. It's based on libevent in order to utilize the best I/O loop on any platform.

SPServer can simplify TCP server construction. It is a hybrid system between threaded and event-driven, and exploits the advantages of both programming models. It exposes a threaded programming style to programmers, while simultaneously using event-driven style to process network connection.

SPServer also include an embedded http server framework -- sphttp. sphttp can simplify to add web server functionality to any C++ app. It is useful for adding Web-based administration or statistics to any C++ program or becoming the server framework of XML-RPC or JSON-RPC.

SPServer is available through the FreeBSD Ports Collection.

Changelog:

Changes in version 0.9.5 (12.13.2009)

  • Fix memory leak in IOCP Server.
  • Improve SP_DotTermMsgDecoder performance.

Changes in version 0.9.4 (03.15.2009)

  • Added an embedded SMTP server based on spserver and some memory leak bugfixes.

Changes in version 0.9.3 (09.24.2008)

  • Add judgement in SP_DefaultMsgDecoder to avoid dead loop
  • Safe to close session with empty response
  • Add toCloseList in SP_Response, using to terminate other sessions
  • Set client ip in SP_Request when using SP_Dispatcher/SP_IocpDispatcher
  • Porting to MacOS

Changes in version 0.9.2 (06.28.2008)

  • Xyssl socket IO layer for spserver was added
  • An abstract layer for socket IO was added for IOCP server framework
  • Porting openssl plugin for IOCP server framework
  • Porting sptunnel to win32

Changes in version 0.9.1 (05.24.2008)

  • A win32 IOCP based server framework was added.
  • A win32 IOCP based dispatcher was added.
  • Improve demo programs' performance.

Changes in version 0.9.0 (04.19.2008)

  • Porting to win32 with MSVC6
  • Fix out of buffer write of SP_Buffer (From Jurgen Van Ham)
  • Change default listen backlog to 1024
  • Remove dependency of libevent/config.h

Changes in version 0.8.5 (10.27.2007)

  • GNUTLS socket IO layer for spserver was added

Changes in version 0.8 (08.22.2007)

  • Matrixssl socket IO layer for spserver was added
  • Directory structure refactor

Changes in version 0.7.5 (08.12.2007)

  • An ssl proxy, sptunnel, was added

Changes in version 0.7 (08.11.2007)

  • A timer mechanism for SP_Dispatcher was added
  • An abstract layer for socket IO was added
  • An openssl socket IO layer for spserver was added

Changes in version 0.6 (07.01.2007)

  • An Leader/Follower thread pool server was added

Changes in version 0.5 (06.23.2007)

  • A socket dispatcher that applies a half-async/half-sync thread pool for server/client sockets was added.

Changes in version 0.4 (06.12.2007)

  • A race condition in get/set of MsgDecoder was fixed.

Changes in version 0.3 (05.15.2007)

  • A message block class was added to enable efficient manipulation of arbitrarily large messages without incurring much memory copying overhead.

Changes in version 0.2.1 (05.10.2007)

  • Added an embedded HTTP server based on spserver and some minor bugfixes.

Changes in version 0.1 (03.14.2007)

  • version 0.1 release