SocketTools Editions

SocketTools is a suite of software development components that come in several editions, with each edition designed to meet the needs of a particular development environment. Which edition is best to use for a given project depends on several factors, including the programming language being used, the type of application being developed and the individual preferences of the developer. For information about supported protocols, product features and the general functionality of SocketTools, please read the Product Overview.

Language Selection

For information about which SocketTools edition is most commonly used with a particular programming language, select a language from the list below. If your preferred language is not listed and you have any questions about compatibility or a recommendation for which edition would best meet your needs, please contact us.

All of the SocketTools components, regardless of edition, are built from the same core libraries, which means the differences between the editions are primarily related to their programming interface and compatibility with specific development tools.

SocketTools is divided into four standard editions and four secure editions that include support for the SSL and TLS protocols. Each edition supports a common set of Internet protocols and have the same general functionality.

It is important to note that the only difference between the Standard and Secure Editions is the ability to establish secure, encrypted connections with a remote host. When we refer to a particular feature or capability, it generally applies to both editions unless specifically noted.


SocketTools .NET Edition

The SocketTools .NET Edition consists of managed code classes written in C# that can be used with any Visual Studio .NET programming language. The primary benefit to using the .NET components is a simplified interface, rapid development and a lower learning curve. In languages like Visual Basic .NET, the classes can be simply referenced as you would any other .NET class. Because the SocketTools .NET components are managed code classes that are native to the .NET Framework, there isn't the additional overhead associated with using ActiveX components and COM Interop. The classes support both synchronous and asynchronous modes of operation, with events used to notify the application when data is available, an operation completes and so on. The interface implemented by the various SocketTools .NET classes is similar to the ActiveX control interface, making the transition to the .NET platform as simple as possible. The SocketTools .NET Edition is best suited for:

  • Developers using the Visual Studio .NET platform
  • Developers who prefer a higher-level programming interface
  • Developers who are new to Internet application programming
  • Applications that require managed code classes, not ActiveX components
  • Applications that require the highest level of performance
  • Creating end-user client applications
  • Creating server programs, either as a service or background application
  • Simplified application development and testing

Programming languages that are most commonly used with the .NET Edition:

  • Microsoft Visual Basic .NET
  • Microsoft Visual C++ .NET
  • Microsoft Visual C# .NET
  • Microsoft Visual J# .NET
  • Borland Delphi .NET

The SocketTools .NET Edition requires either Visual Studio .NET 2003 or Visual Studio 2005 and is supported on Windows 2000 and later platforms. The .NET components cannot be used languages that don't support the .NET Framework and Common Language Runtime such as Visual Basic 6.0 or older versions of Visual C++.
» Learn More


SocketTools Library Edition

The SocketTools Library Edition consists of standard dynamic link libraries (DLLs) that can be used with virtually any Windows programming language. In other words, if the language is capable of directly calling functions in the Windows API, then it is capable of using the libraries in the Library Edition. 

The advantage of the Library Edition is broad compatibility with most languages, low resource utilization and high performance, particularly on older systems. Some developers also prefer the lower-level interface and simpler redistribution afforded by the libraries. The trade-off is that the API tends to be more complex and require more coding on the part of the developer. There are over 800 functions that comprise the SocketTools API, which also means that the learning curve can be higher for new developers. The Library Edition is best suited for:

  • Experienced developers familiar with the Windows API
  • Developers who prefer a lower-level programming interface
  • Applications that require the highest level of performance
  • Applications that require low resource utilization
  • Applications that will be primarily used on older systems
  • Creating server programs, either as a service or background application
  • Simplified application deployment and installation

 Programming languages that are most commonly used with the Library Edition:

  • Microsoft Visual C++
  • Microsoft Visual J++
  • Microsoft Borland C++
  • Borland Delphi
  • PowerBASIC
  • PureBasic

For other languages, the libraries are the best choice if the language does not support the Component Object Model (COM) or does not have tight integration with ActiveX controls. The libraries cannot be used with scripting languages such as VBScript or JavaScript.
» Learn More


SocketTools Scripting Edition

The SocketTools Scripting Edition consists of scripting components based on the Component Object Model (COM) standard. These components are primarily designed for use with scripting languages such as VBScript and JavaScript, and have an interface that is similar to the ActiveX controls in the Visual Edition.  They're most commonly used with Active Server Pages (ASP) and other server-side scripting host environments like PHP. However, they are not limited strictly to scripting languages. They can also be used with Visual Basic and Visual C++, as well as any other programming language that supports the use of COM objects.

The advantage of the Scripting Edition is a simpler, high-level interface without the inherent overhead of full ActiveX controls. Like the libraries in the Library Edition, the scripting components can be used in a wide variety of languages. They have lower resource utilization than controls, and have significant performance benefits when used in a multithreaded environment, such as server-side scripts running on a webserver. However, the components do impose some additional processing overhead that standard DLLs don't have, and because they must be registered with the operating system when they're installed, it can make redistribution more complex. They can also be more complex to use with those languages that don't provide extensive support for COM and variant data types. The Scripting Edition is best suited for: 

  • Scripting languages such as VBScript and JavaScript
  • High-level languages which support the use of COM objects
  • Server-side scripting host environments such as ASP and PHP
  • Client-side scripting in dynamic web pages (DHTML)
  • Standalone applets which do not have a significant user interface
  • Simplified application development and testing
  • Developers who prefer a higher-level programming interface

Programming languages that are most commonly used with the Scripting Edition:

  • JavaScript
  • PHP
  • VBScript
  • Visual Basic for Applications (VBA)

For other languages, the scripting components are the best choice if the language supports the Component Object Model (COM) standard and it is more suited to referencing COM objects rather than using ActiveX controls. The scripting components are also recommended for Visual Basic.NET and Visual C#.NET if the component is going to be used in a background worker thread instead of the main user interface thread.
» Learn More


SocketTools Visual Edition

The SocketTools Visual Editions consist of full ActiveX controls that are typically used with high-level programming languages and rapid application development tools. Visual Basic is the most common language used; however, the controls can be used with any language that supports the ActiveX control specification. They can also be used with scripting languages and can be created as Automation objects in VBA. For example, they can be used with Microsoft Access and Excel.

The primary benefit to using the ActiveX controls is a simplified interface, rapid development and a lower learning curve. In languages like Visual Basic, the controls can be simply dropped on a form or dialog and referenced as you would any other object. The controls support both synchronous and asynchronous modes of operation, with events used to notify the application when data is available, an operation completes and so on. However, ActiveX controls do impose additional overhead and are more resource intensive than standard libraries. They can also be more difficult to use with those languages that don't fully support ActiveX or Automation. The Visual Edition is best suited for:

  • Programming languages such as Visual Basic and PowerBuilder
  • Development environments such as Microsoft Office (VBA)
  • Creating end-user client applications
  • Client-side scripting in dynamic web pages (DHTML)
  • Simplified application development and testing
  • Developers who prefer a higher-level programming interface
  • Developers who are new to Internet application programming

Programming languages that are most commonly used with the Visual Edition:

  • Visual Basic
  • Visual FoxPro
  • Visual J++
  • PowerBuilder
  • REALbasic

For other languages, the ActiveX controls are the best choice if the language fully supports the ActiveX standard interfaces and it is more suited to using controls placed on a form or dialog rather than referencing objects.
» Learn More


SocketTools Subscription

If you develop applications in a variety of languages or need the flexibility that is offered by having access to both high-level components and the performance of lower level libraries, then the SocketTools Subscription plan is ideal. Regular product updates, free upgrades to new releases and standard e-mail support ensure that you have everything you need to create complex Internet-based applications without sacrificing features or performance.

The SocketTools Subscription consists of every component, class and library in all of the SocketTools Editions, as well as the Catalyst File Transfer Control and Catalyst Internet Mail Control. These additional components provide a high level interface for the two most common requirements of Internet-based applications: transferring files and sending e-mail messages. The SocketTools Subscription includes access to product updates and hotfixes, new product releases and unlimited standard support during the subscription period.
» Learn More


SocketTools Edition

SocketTools Links

Product Wizard
Decide which SocketTools Edition best meets your needs.


SocketTools 6.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.