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.
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.
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:
Programming languages that are most commonly used with the .NET Edition:
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
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:
Programming languages that are most commonly used with the Library Edition:
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
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:
Programming languages that are most commonly used with the Scripting Edition:
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
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 that are most commonly used with the Visual Edition:
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
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
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.