SocketTools Design Concepts

When you're working with third-party components and libraries, an important consideration is the overall design and implementation of the interface. SocketTools was created with several guiding design concepts in mind:

  • Reliability and performance are paramount. The overall design should focus on simplicity, without sacrificing functionality or features.
  • Redistribution should be simple, without a large number of external dependencies or complex relationships between components.
  • Broad compatibility is essential. SocketTools is designed to work on Windows Server 2008, Windows Vista, Windows XP and Windows 2000 without requiring platform specific code on the part of the developer.
  • Each component and library should be self-contained and designed to provide one specific type of functionality. This gives the developer the greatest freedom the design and implementation of the project.
  • The interface should use simple data types whenever possible, avoiding complex function calls or data structures. Standard Windows programming conventions should be strictly adhered to.
  • Whenever possible, the components should share common properties, methods and events to simplify development and reduce the overall learning curve.

SocketTools takes the approach of having each class, component and library function independently of one another, built to perform one specific group of tasks very well. Most of the components implement a single Internet application protocol, such as the File Transfer Protocol (FTP) or Hypertext Transfer Protocol (HTTP). This gives you the flexibility to choose what protocols you wish to use without forcing you to include components or libraries for those protocols you don't need.

Unlike other software development toolkits which may use complicated data structures or require a complex interdependency between objects, the SocketTools interface is designed to be simple to understand and use. For example, there are no language specific constructs like C/C++ unions in our Library Edition API. By focusing on providing a clean interface that only requires intrinsic data types and simple structures, SocketTools can be used in a wide variety of programming languages beyond just C and C++. Likewise, our Visual and Scripting Edition components implement a straight-forward interface that is designed to be compatible with virtually any language that can use COM objects.

The SocketTools .NET Edition is designed specifically for use with development tools for the .NET Framework, such as Visual Studio and Borland Developer Studio. The interfaces for the SocketTools .NET classes were designed to be similar to the ActiveX controls in the Visual Edition, enabling developers to easily migrate existing applications that use SocketTools to the .NET platform.

SocketTools Edition

SocketTools Links

Product Wizard
Decide which SocketTools Edition best meets your needs.


SocketTools 5.0
Read about what is new in the latest version of SocketTools.


SocketTools Overview
An overview of the SocketTools editions, features and benefits.


SocketTools Features
Additional information about the product features.


Design Concepts
Design concepts for the SocketTools product suite.


Frequently Asked Questions
Answers to the most common questions about SocketTools.


Release Notes
Release notes for the current version of SocketTools.


License Agreement
The developer license agreement for this product.