The C++ framework for developing highly scalable, high performance servers on Windows platforms.

Example Servers

The Server Framework ships with 66 different example programs which demonstrate different aspects of the framework. The examples are grouped together in 'packs' of similar functionality, so, the easiest to understand servers are in the SimpleServers pack, servers that run as services are in the Services pack, etc. All of the examples are available in source code form from links on the pages that describe the contents of the example packs. Of course, the examples that you can actually build will depend on which options you selected when you licensed the framework (see here for licensing options) as this determines which tools libraries that you are sent and various example servers need various different tools libraries, it becomes fairly clear what you have and what you need once you take a look at one of the example projects.).

Please contact us by email for details of how to obtain any additional libraries that you may require to build particular server examples, or for custom server development.

Please note that, in general, each example aims to demonstrate one new feature. You can, of course, mix and match features and merge examples into considerably more complex scenarios than those presented here and some of the examples are fairly complex in their own right. We tend to develop new examples as and when clients require specific functionality in a server. Once more than one client needs a particular style of server we figure that it's probably worth creating an example that shows everyone else how to do it.

The current examples are split into the following packs. We note with each pack which options you need to license to be able to build the pack. Note that, of course, all packs require the "base framework" license.

  • Simple Servers - A selection of example servers that demonstrate various aspects of The Server Framework. [14 examples]
  • UDP Servers - A selection of example UDP servers that demonstrate various designs for UDP servers including connection oriented servers. [14 examples]
  • Timer Example Servers - Servers that demonstrate how timers can be used to generate periodic events within a server. [2 examples]
  • Gateway Server Examples - This selection of servers demonstrate servers which connect two connections together. The gateway server can act as a proxy, or can process data as it flows from one connection to another, we've also developed gateways which perform protocol translation and which provide secure 'tunnelling' for insecure protocols. [3 examples]
  • Services - Building servers that run as services. Requires the Windows Services license option. [2 examples]
  • Services with Performance Counters - Building servers that run as services and expose performance counters for use with the standard Windows Perfmon tool. Requires the Windows Services and Performance Counters license options. [1 example]
  • Servers with Performance Counters - Building servers that expose performance counters but that run as normal executables. Requires the Performance Counters license option. [1 example]
  • Data Distribution Server examples - Servers and clients that demonstrate a high throughput publish/subscribe system. The examples consist of a simple pub/sub server, a client that acts as a data souce for the server and a client that acts as a subscriber. The server supports distributing the data that arrives from the data feed to several connected subscriber clients in an efficient manner. Requires the Performance Counters license option (but only because the server exposes performance counters so that it's easy to profile, the underlying publish/subscribe model doesn't require additional licensing. [3 examples]
  • OpenSSL Servers - Servers that use OpenSSL to provide secure communication. Requires the OpenSSL license option. [3 examples]
  • SChannel Servers - Servers that use Microsoft's SChannel to provide secure communication. Requires the SChannel license option. [3 examples]
  • SSPI Negotiate Servers - Servers that use Microsoft's Negotiate SSPI to provide secure communication between Windows machines using NTLM or Kerberos. Requires the SSPINegotiate license option. [3 examples]
  • CLR Hosting Servers - Servers that host the CLR and allow business logic to be written in .Net code. Requires the CLR Hosting license option. [4 examples]
  • Misc Servers - Miscellaneous servers that don't really fit in any of the other packs; e.g. a Bluetooth server and a Telnet Server. These may require additional licensing, contact us for details. [2 examples]
  • WebSocket Servers - A selection of example WebSocket clients and servers that demonstrate the features of the WebSocket Option Pack. [7 examples]
  • HTTP Servers - an HTTP server and an HTTP test client. [2 examples]
  • Media Servers - Servers that demonstrate the "Streaming Media" Option Pack. An RSTP server and an HLS server. [2 examples]

See here for a general overview of the Socket Tools Libraries including design rationale, build information, release notes and frequently asked questions.

Generated on Sat Dec 3 21:43:45 2016 for The Server Framework - v6.8 by doxygen 1.5.3