Licensing Overview
The Socket Tools libraries are available for licensing with a 'per company' license (you can have any number of developers working with the code at one time). Licensing terms are such that you have an unrestricted license to use and modify the source code and a royalty free license to distribute anything built from the code in compiled form. If you need to be able to distribute our source code to your clients then we'll need to discuss further licensing options (note that this usually takes the form of you having to purchase a license for the source code from us on your client's behalf).
The code in the Socket Tools libraries has evolved from our free IOCP Server Framework code which is available from here. Note that the licensed code is considerably different from the free code and that whilst starting development with the free code and then moving to the licensed code at a later date is certainly viable it will involve some effort. The licensed code has been in use with our clients since 2001 and is the basis for many varied high performance servers that run 24/7. A client list is available on request and you are more than welcome to ask us to provide client contact details for reference purposes if required. There are many example servers available for the licensed code, see here for details, and these can be downloaded prior to licensing so that you can get a feel for how a server (or client) is built from the libraries.
A license to the framework provides unlimited updates as and when they become available and unlimited email support for the framework. We currently do not publish a road map for future development directions for the framework as development tends to be driven by client demand; So, if there are features that we don't currently support that you'd like supported, do get in touch by email. Likewise we don't have a schedule for releases to the framework, but as you'll see from the support blog postings, we have recently been releasing new versions around once a quarter. Bug fixes and change notifications are available from this RSS feed and the release notes of previous versions are available here in the documentation pack. We can provide consultancy to help with the integration of your business logic if you require help, but most clients don't require this as the framework is very easy to use and the points at which you would link to your business logic are limited and clearly indicated in the examples.
The framework builds with all versions of Microsoft Visual Studio from Visual Studio .Net (2002) through to Visual Studio 2008 and builds as x86 or x64 native code on Visual Studio 2005 and above. We no longer support Visual C++ v6.0; the last version of the server framework to support this compiler was 5.2.4 which we can supply if you require it.
Licensing Options
The server framework is licensed as a 'core framework' with optional extras. You can select which options that you require and add them to a 'core framework' license at any time. You can always download all examples for all options and you may find this useful to determine which options you need.
-
Windows Service Option - Many of our clients find that their servers should really run as Windows Services. We have a library of code that makes this easy. To allow for easy debugging the library includes the option of running the service in "debug" mode which runs the services as a normal executable (without using the SCM) and allows external control via an event based system; this means that you can run the service inside the Visual Studio debugger without any code changes. The Windows Service Option also supports 'instances' of services which allows you to install the same service multiple times (with different 'instance names') on a machine. This can be used to run multiple copies of your server with different configuration parameters.
-
Performance counters. We find that the best way to tune our servers is to add appropriate monitoring using performance counters so that you can view the activity of the server using the standard Windows performance monitoring tool, "perfmon". The performance counter library supports multiple instances of performance objects, and multiple language performance counter text strings. It works on all versions of windows that support "perfmon" and includes code that allows 'side by side' x64 and x86 counter dll installation to allow monitoring of x64 machines from x86 machines. It comes with examples that demonstrate integrating both single and multiple instance counters into servers.
-
SSL/TLS (https style encryption and security. With the addition of our SSL library, the framework can use SSL to protect the data stream. The encryption/decryption all occurs within the framework and the users development interface to the framework doesn't change so it's trivial to add SSL to an existing server or to write a server that listens on one port with SSL and another without. We offer SSL/TLS support using either OpenSSL OR Microsoft's SChannel (note that you can purchase a license for either the OpenSSL code or the SChannel code, or both.
-
CLR Hosting. With this option you can host managed code inside your C++ server. This allows you to write your business logic, or some of it, in a managed language such as C# and still retain all of the advantages of using the server framework for your I/O.
In addition we can provide POP3 server and client code, simple web server code (for status or monitoring servers) and bluetooth client/server code that uses the Winsock Bluetooth support that is available with Windows XP Sp2 and later.
See the numerous example projects for the above options here.
Contact us by email for details of more details and for pricing and our standard terms and conditions or to talk to us about custom server development.
Generated on Thu Mar 26 16:38:10 2009 for JetByte Socket Tools - v6.0 by
1.5.3