Code Monkey home page Code Monkey logo

spserver's Introduction

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

spserver's People

Contributors

spsoft avatar

Watchers

James Cloos avatar redsun avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.