What is SocketTools?
SocketTools is a comprehensive toolkit for Internet and intranet software development that comes in a choice of three editions. You can choose managed code components for either the .NET Framework, ActiveX controls (OCXs) or native dynamic link libraries (DLLs).
The SocketTools Subscription combines the three SocketTools editions into a single package. Using SocketTools, you can easily add secure Internet functionality to your software, such as file transfers or sending email messages, with just a few lines of code.
What is the current version of SocketTools?
The current release of SocketTools is version 9.3.
To determine the version of the controls and/or libraries that you have installed, run the License Manager utility that is installed with SocketTools. It will display the version and build number for the product, as well as for each component individually.
Upgrade pricing is always reasonable and developers who are using an earlier version of SocketTools can upgrade online.
What are the different SocketTools editions?
The SocketTools .NET Edition includes managed code classes for development using Visual Studio 2005 or later versions, and can be used with any .NET language, including C# and Visual Basic. If you need to migrate a project that uses our ActiveX controls, the SocketTools .NET classes provide a similar interface, making the transition as simple as possible.
The SocketTools ActiveX Edition is ideal for developers who are using development tools like Visual Basic. Any language that supports the Component Object Model (COM) and ActiveX control specification can use the controls in the ActiveX Edition. The primary advantages to the ActiveX Edition is a low learning curve and ease of implementation, along with support for development environments like Visual Basic 6.0, Microsoft Office and dBase Pro.
The SocketTools Library Edition is ideal for developers who need the flexibility and low overhead of standard Windows dynamic link libraries (DLLs). More than just for C/C++ programmers, most Windows programming languages can make use of the Library Edition. The primary advantage to the Library Edition is improved performance and minimal system resource requirements. The Library Edition includes C++ classes, along with function prototypes and declarations for a variety of different programming languages such as Object Pascal, PowerBASIC and Clarion.
Is SocketTools compatible with Windows 10?
All SocketTools 9 Editions are fully supported on Windows 10 and Windows Server 2016. Both 32-bit and 64-bit versions of Windows are supported.
Does SocketTools support 64-bit Windows?
Yes, SocketTools includes both 32-bit and 64-bit components and libraries. For the broadest compatibility across Windows platforms, you can use the 32-bit components which will work on native 32-bit Windows platforms, as well as 64-bit versions of Windows using WoW64.
The 64-bit components can be used for native 64-bit development and require that you are developing on a 64-bit version of Windows. It is important to note that although the 32-bit components will work on both 32-bit and 64-bit versions of Windows, the 64-bit components will only work on 64-bit Windows and cannot be used on 32-bit versions of Windows.
If you are using the SocketTools .NET Edition, your project may explicitly target the x86 (32-bit) or x64 (64-bit) platform, as well as “Any CPU” which has the runtime automatically select the correct version based on the underlying operating system.
Does SocketTools support IPv6 connections?
Yes, both IPv4 and IPv6 connections are supported. For IPv6 support, the protocol must be enabled and configured to use either a direct IPv6 connection through your service provider or an IPv6 tunnel such as Microsoft’s Teredo or Hurricane Electric’s IPv6 tunnel broker. For backwards compatibility with existing software and services, SocketTools does not require that you configure an IPv6 connection and will use IPv4 by default.
Does SocketTools support secure connections?
Yes, all SocketTools editions support secure, encrypted connections. Each edition is capable of establishing secure connections using TLS 1.2 along with support for TLS 1.0, 1.1 and SSL 3.0. In addition, SocketTools also supports SSH 1.0 and 2.0, which can be used to create secure, interactive terminal sessions, execute commands remotely and perform file transfers using SFTP. SocketTools will automatically select the strongest encryption available on both the client and server, including 256 bit AES encryption, and supports the use of client certificates for authentication.
SocketTools will always default to using the strongest security options available. This generally means that secure connections will default to using TLS 1.2 and AES-256. For SSH and SFTP connections, SSH 2.0 and AES-256 are used by default.
Does SocketTools include server components?
SocketTools includes server components for the File Transfer Protocol (FTP) and the Hypertext Transfer Protocol (HTTP). They are available in all SocketTools editions, and implement the protocol standards along with a number of common extensions. SocketTools also includes a general purpose TCP/IP server component that can be used to implement a custom server of your own design.
There is no need to install or configure any third-party software. The server components do not require the installation of Microsoft’s Internet Information Services (ISS) and there are no additional executable programs or services that need to be installed with your software. Only the server component itself needs to be redistributed with your application.
The server components are supported on both the desktop and server platforms, including Windows 8.1 and Windows Server 2012 R2. The minimum operating system required is Windows XP SP3 or Windows Server 2003 SP2. The server components do not have any usage or performance limitations based on the operating system platform.
What are the minimum system requirements?
The minimum supported version of Windows is Windows XP with Service Pack 3 (SP3) installed, or Windows Server 2003 with Service Pack 2 (SP2) installed . Both 32-bit and 64-bit versions of Windows are supported.
If you are using SocketTools to establish secure connections, we recommend using Windows 10 on the desktop, with Windows 7 SP1 as the minimum version. For secure servers, we recommend Windows Server 2016, with Windows 2008 R2 as the minimum version for the server platform. Certain security features, such as the supported TLS protocol versions and the available cipher suites, are determined by the version of Windows that is hosting the application.
Developers using Windows Vista must install Service Pack 2 (SP2) and developers using Windows 7 must install Service Pack 1 (SP1). If you are using Windows 8, it is recommended that you upgrade to Windows 8.1. Although SocketTools does not directly use Internet Explorer or the WinInet library, it does use several shared libraries that are updated with Internet Explorer. If you or your end-users are using Windows XP SP3, it is recommended that you install Internet Explorer 8 and all security updates available for the platform. On Windows 7 and later, it is recommended that you install Internet Explorer 11.
The minimum memory and disk space requirements for end-users are the same as for the base operating system. Any functional differences between the platforms are handled internally by the components and/or libraries without requiring additional coding on the part of the developer.
Is SocketTools compatible with Windows Server?
Yes, SocketTools is supported on Windows Server 2003 through Windows Server 2016. You can use SocketTools to create stand-alone applications or standard Windows services that run in the background. Any internal differences between the desktop and server platforms, as well as between the different versions of Windows, are handled transparently by SocketTools.
Is SocketTools compatible with Windows Embedded?
Yes. Windows Embedded (which includes Windows POSReady 2009, Windows POSReady 7 and Windows Embedded 8 Industry) are specialized Point of Service versions of Windows used with industrial devices such as automated teller machines and cash registers.
Windows POSReady 2009 is based on the Windows XP SP3 platform, POSReady 7 is based on the Windows 7 platform and Windows Embedded 8 Industry is based on the Windows 8 platform. Windows Embedded supports the full Win32 API and the .NET Framework. Generally speaking, applications that target Windows XP, Windows 7 or Windows 8 will also function in the same way on their corresponding Windows Embedded versions.
Will you continue to support Windows XP?
Yes, technical support will continue to be available for the current version of SocketTools. Although Microsoft has discontinued support for Windows XP as of April 8, 2014, it is still used for legacy applications and we will continue to provide support for the platform. We will also continue to provide support for Windows XP 64-bit and Windows Server 2003. Only the current versions of our software will be supported, and the system must have Service Pack 3 (SP3) installed.
Can I download a trial version of SocketTools?
Yes, evaluation copies for all three SocketTools Editions are available for download. The evaluation package is fully functional and can be used for a period of thirty (30) days from the date of installation. Please note that during the evaluation period, the libraries and/or components are licensed for use only on the development system and may not be redistributed until a license is purchased. Technical support for evaluators is free during the evaluation period.
Although there is no evaluation copy of the SocketTools Subscription, you can download the free trial version for any of the SocketTools editions that are you interested in using.
Can I reinstall a trial version of SocketTools?
An evaluation license for the current version can only be installed once for a given product. Once the evaluation period has expired, or the product license has been deleted, the software can only be installed using a valid serial number.
If this is the first time that you have installed SocketTools, it may be that another developer had previously installed an evaluation version and later uninstalled the product from that system. Please contact us if you have any problems with your evaluation, we do provide free technical support for our products.
If you have previously evaluated an older version of SocketTools, or a different SocketTools edition, you can install a new trial version on the same system. For example, if you had previously evaluated SocketTools 8, you could install the trial version of SocketTools 9 on the same system and get a new thirty day evaluation license.
Where can I download SocketWrench?
Previous versions of SocketWrench were made available as a separate product, and there was an older freeware ActiveX control that did not provide any security features or include support for the current Windows platforms.
SocketWrench has been merged with SocketTools, and is available with each edition. This change offers significantly greater value to developers, and we will continue to support and improve SocketWrench as one of the central components in SocketTools. Developers who have used SocketWrench are entitled to upgrade to the full version of SocketTools at substantial discount.
What technical support options are available?
Free technical support by email and through our website, as well as access to our support forums and online knowledge base, is included with every license. When support is discontinued for an older version of SocketTools, no further updates or hotfixes will be released for that version, however the online resources will remain available.
We also provide priority support for developers who require a same-day response on support issues and need on-demand hotfixes, rather than waiting for the next product update. We also offer a premium support option that guarantees support responses within four hours, along with phone support, on-demand hotfixes and free product upgrades to the next version.
For more information, please review our Support Policy and learn about the Support Options that are available to you. Support contracts may be purchased along with a new license, or purchased separately.
Do you offer custom development using SocketTools?
You can request an experienced software architect provide your company with a free quote and consultation for a project that uses SocketTools. This can include developing a specific desktop or server application, or a custom modification to a SocketTools component. Please provide as much information about your project as possible.
Can SocketTools be used with Visual Studio 2017?
Yes, SocketTools 9 supports the current version of Visual Studio. The SocketTools .NET Edition includes managed code classes that can target versions 2.0 through 4.7 of the .NET Framework and can be used with Visual Studio 2005 through Visual Studio 2017.
The SocketTools Library Edition includes libraries that can be used to create native applications in Visual C++, and it supports both 32-bit and 64-bit Windows platforms. The ActiveX controls in the ActiveX Edition can also be used with current versions of Visual Studio through a COM interop wrapper; however, there can be a significant performance penalty when using ActiveX controls in a managed code application. It is recommended that developers who are using C# or VB.NET upgrade to the SocketTools .NET Edition.
Can SocketTools be used with Visual Studio 6.0?
The SocketTools ActiveX Edition and Library Edition can be used with the Visual Studio 6 development tools. It is required that you install Service Pack 6 for Visual Studio 6 which can be downloaded from the Microsoft Download Center. Please note that the SocketTools .NET Edition components are managed code classes and require the .NET Framework and Common Language Runtime, and as such are not supported in Visual Studio 6.0.
Can SocketTools be used with Visual Studio Community?
Yes, the SocketTools components and libraries can be used Visual Studio Community 2017. If you are using Visual Basic or Visual C#, it is recommended that you download the SocketTools .NET Edition. If you are using Visual C++, it is recommended that you download the SocketTools Library Edition. An academic discount is available for all registered students who wish to purchase a SocketTools license.
Can SocketTools ActiveX controls be used with .NET?
Yes, the controls in the SocketTools ActiveX Edition can be used with Visual Basic .NET and C#. However, if you are developing on the .NET platform, we recommend switching to the SocketTools .NET Edition. You’ll see improved performance and it offers an interface that makes the components much easier to work with.
If you’re planning on migrating your application to .NET, many of the properties, methods and events are similar to the ActiveX controls. Although there are some differences between the two editions in terms of the interface, those differences are relatively minor. Both editions include the same basic collection of components and support the same Internet application protocols.
Can SocketTools .NET be used with Visual Basic 6?
The SocketTools .NET components are managed code classes which require the .NET Framework and a programming language which can generate Common Intermediate Language (CIL) bytecode. They do not expose COM interfaces and cannot be used with Visual Basic 6.0 or programming languages that don’t support the use of .NET assemblies. The minimum version of Visual Studio required for development is Visual Studio 2005 and .NET Framework version 2.0.
Can SocketTools be used with Active Server Pages?
Yes, the SocketTools ActiveX Edition components can be used with server-side scripting host environments like ASP and the SocketTools .NET components can be used with ASP.NET. Because SocketTools directly interfaces with the networking subsystem on the server and accesses the registry, it is required that your application be granted full trust on the server. If your code is being hosted on a third-party server, check to make sure that this is permitted by the service provider.
Can SocketTools be used with Microsoft Azure?
Yes, applications that use SocketTools can be deployed to the Azure cloud platform. Azure VMs can use Windows Server as the operating system and SocketTools can be used to create both stand-alone programs as well as standard Windows services. Note that for your service to be publicly accessible, the Azure VM needs to be running with a public IP allocated, and you must define an endpoint that permits clients to connect to your service.
Can SocketTools be used with Linux?
SocketTools does provide limited support for the Linux platform. We have tested our libraries (DLLs) for use with Windows applications running under Wine for Linux. We have also successfully tested our installer running under Wine, so it is possible to install SocketTools on a Linux system. We recommend using the SocketTools Library Edition and Wine 1.6 or a later version on a current, supported Linux distribution.
Although it is possible to use some Windows development tools on Linux, it’s generally better to develop and test your application on Windows. Once you have a working program, then test the deployment on the Linux system.
If you encounter a problem with your program on a Linux system, first check to see if you can reproduce the error on a supported version of Windows. Our technical support team will do their best to assist you, but please understand that we may not be able to resolve issues that can only be reproduced on Linux and do not occur on native Windows platforms.
What version of the Windows Socket API is used?
SocketTools 9 requires version 2.2 of the Windows Sockets API and loads WS2_32.DLL. This is the current version of the API, and is supported on Windows XP and later platforms. If that version of the Windows Sockets library cannot be loaded and initialized, an error will be returned to the application indicating the failure.
Does SocketTools use the WinInet library?
The SocketTools components and libraries do not use the WinInet library or have any dependencies on Internet Explorer. It is only required that the system have the TCP/IP networking software installed and configured.
Is an Internet connection required for development?
You can develop your application on a system that does not have an active connection to the Internet. The SocketTools components will dynamically load the appropriate networking libraries whenever a property is set or a method is invoked which requires access to the network. If you are using the SocketTools Library Edition, the networking libraries are loaded whenever the initialization function is called by your application.
Can SocketTools be used with open source projects?
SocketTools is a commercial product that is licensed per developer. There are no restrictions on redistributing the compiled version of your software. However, if you wish to provide the source code for your application, you may not include your SocketTools runtime license key. Anyone who wishes to recompile your software would be required to purchase a SocketTools development license.
Does the Library Edition include ActiveX DLLs?
The Library Edition uses native Windows DLLs which can be used by most Windows programming languages. They are not ActiveX DLLs that expose a COM interface. This ensures that you can use SocketTools in the widest range of development projects with minimal overhead and without concern about compatibility with a specific language or platform.
If a language is capable of calling native Windows API functions, it can use the SocketTools libraries. Note that VBScript and JScript cannot directly call functions exported from a native DLL and you should use the SocketTools ActiveX Edition instead.
Are the SocketTools components thread safe?
Yes, the SocketTools components and libraries can be safely used in multithreaded applications. When a client session is created, it is associated with the thread that created it until the thread is destroyed. If you create worker threads, then it is recommended that same thread be used to manage the session from the point where the connection is established with the server. An alternative would be to use the free-threading option when establishing the connection. Refer to the technical reference documentation for more information about how to enable free-threading in the .NET classes and standard libraries.
Does SocketTools require any third-party libraries?
The SocketTools libraries and components are completely self-contained and do not require the installation of any third-party libraries. If you are using the ActiveX components, all that is required is that your application register the components. This is typically handled by an installer, but can also be performed from the command line. Note that the libraries in the Library Edition are not COM objects and there is no need to register them.
What are the general terms of the license?
The complete license agreement for the product can be found in the online help. In general terms, it permits you to install SocketTools on your development system, use the product to build application software and redistribute that software to your end-users. There are no runtime licensing fees, and there are no restrictions on the number of products which may be developed using SocketTools components.
There are two primary restrictions, the first being that SocketTools is only licensed for use by a single developer. The second restriction is that you may not use the components to create a software development product which is then used and/or resold by your customers.
You may use SocketTools to build application software, but you are not permitted to create software development components or libraries which are then used by your customers to create their own software which, in turn, they distribute to end-users. Simply put, you’re not permitted to use our components to compete against us in the marketplace. If you have any questions regarding the licensing agreement, please contact us.
Are there any additional redistribution fees?
There are no additional redistribution or runtime licensing fees. The development license allows you to make any number of products with the SocketTools components, and redistribute those components along with your application to any number of end-users.
How do I install a trial version of SocketTools?
If you choose to install SocketTools without a serial number, then an evaluation license will be created that is valid for a period of thirty (30) days. The software is fully functional during the evaluation period, however you will be unable to create redistributable applications using the components and/or libraries. In other words, you will be able to create and test applications on the development system that the evaluation license was created on, but you will not be able to run those programs on any other system until you purchase the product.
What are the limitations of an evaluation license?
SocketTools components and libraries are fully functional during the evaluation period and the same code that you develop during the evaluation period can be compiled and used once you have purchased the product.
There are two limitations to consider when developing software using an evaluation license. First, the components and/or libraries will cease to function after the evaluation period has expired. This means that you will not be able to load them into your development environment, and any application that uses them will no longer function. Second, you cannot redistribute any application that uses SocketTools with an evaluation license.
An application that is created using an evaluation license will only function on the development system where the license is installed, as the user who installed SocketTools. Once you have purchased a license, you only need to recompile your application with your new, registered license.
Is a license required to redistribute my software?
You must have a valid development license to redistribute an application built using SocketTools components. The license you have purchased permits you to create an unlimited number of programs and you may redistribute the software to any number of end-users. However, you cannot redistribute any applications created using an evaluation license.
If you attempt to redistribute an application created using an evaluation license, depending on the development environment, you will either be unable to compile the application, or it will fail to initialize correctly and your application will be unable to load. During the evaluation period, an application using our components will only function on the development system on which it was created, under the account of the user that installed SocketTools. This restriction is removed after a development license has been purchased.
What is the runtime license key?
When the product is installed with a serial number, a unique runtime license key will be created which is used by the component or library to validate that a licensed copy of the product has been purchased. For languages like Visual Basic using the ActiveX controls, the license key is managed internally and doesn’t require any additional coding by the developer. However, some languages don’t directly support the use of runtime license keys so the component must be initialized with the license key by calling the Initialize method. For more information, refer to the technical reference documentation.
Note that your product serial number is not the same as the license key. Evaluators will not have a runtime license key. Without the license key, the application that uses SocketTools will only work on the local system that has a development license and cannot be redistributed to end-users.
Is a license required for each developer?
Yes, a license is required for each developer who is using SocketTools. It is a violation of the terms of the license agreement for more than one developer to use the same copy of the product. However, the same developer may install the product on more than one system as long as there is no chance that it will be used by another developer.
It is not necessary to purchase a license for those developers who are not creating or modifying software that uses any of the SocketTools components. For example, if three developers are creating an application, with two of the developers using Visual Basic and the SocketTools .NET Edition classes, and one of them is using Visual C++, two licenses would be required. A license would not be required for the C++ developer, unless that developer was also using one of our components or libraries.
If you have any questions about usage, or for information about purchasing additional licenses, please contact us.
Can I install SocketTools on my laptop?
The license allows you to install your copy of SocketTools on both your desktop and a laptop or tablet that you use for development and testing. However, if more than one developer is working on a project which uses SocketTools, then a license must be purchased for each developer.
Is a separate license needed for a build system?
Our licensing is per developer, and as such does not require an additional license if you need to install SocketTools on a dedicated build system that is not used by any other developers. If multiple developers have access to the build system and will be using SocketTools, then a license must be purchased for each developer.
Can I change my license to a different edition?
Your license is specific to the edition of SocketTools that you have purchased, and both your serial number and runtime license key cannot be used with a different edition. If you have purchased your license within the past thirty (30) days, it is possible to switch to a different edition at no cost. Your current license will be voided, and you will be issued a serial number for the new product.
If you have recently purchased SocketTools and need to switch to a different edition, please contact us and provide your current serial number.
Can I transfer my license to another developer?
If you are no longer developing with SocketTools, you can transfer your license to another developer. Contact our business office and provide them with the product serial number, your contact information and the information for the developer that the license is being transferred to.
The product license may only be transferred once, and the new developer cannot transfer the license to another developer. For example, it is not permitted to temporarily transfer a license to a contract developer and then when their project has been completed, return the license back to the original developer. In that case, you would need to purchase an additional license specifically for the use of the contract developer.
Does SocketTools require online activation?
No, SocketTools does not require online activation or registration. We feel that this is too restrictive for developers who frequently must develop and test applications on multiple platforms.
Do I need to create an account to place an order?
In most cases it is not required for you to create an account to purchase a SocketTools license. However, creating an account enables you to store your contact information so that it is not necessary for you to enter it again.
Your credit card information is not stored with your account, and we never share your personal information with third parties. If you purchase a SocketTools Subscription, it is required for you to create an account so that you can access the subscriber area on our website.
How do I create my account?
You can create a new account using our Account Registration form. Please use your full name (first and last) as your username, and you must provide a valid email address to complete the registration. Please make sure that your email server has whitelisted the sockettools.com domain to ensure that you receive emails from us.
After your registration has been completed, you can view and update your Account Profile. This can be used to change your password, add or change your default billing and shipping address, and update other contact information. Some information, such as your company website, is optional.
If you have any problems creating a profile, or logging in after you have created your profile, please contact us.
How do I upgrade my version of SocketTools?
You can place your order to upgrade a SocketTools license to the current version by simply selecting the upgrade option for your product. Upgrading your license requires you to provide the serial number for your current license. After your upgrade order has been processed, you will be sent a new serial number, along with a download link and additional product information. If you have an active support contract, it will be automatically added to the new license.
Can I upgrade to the current version for free?
Upgrades to the next major version are available for free to developers who have an active subscription or premium support contract. Free upgrades are also available to customers who have purchased a license for the previous version less than thirty (30) days prior to the release of the new version. For all other developers, upgrades are available at a substantial discount over a new license.
There is never a charge for product updates to the current, supported version of SocketTools. When you purchase a license, you are entitled to free updates for that version for the life of the product. We will only charge for upgrades to major version releases. Please contact the business office if you have any questions about upgrading your license.
Are the components backwards compatible?
This depends on several factors, including which SocketTools components are being used and the difference between versions. Updating an application that uses the previous version of SocketTools usually requires minimal changes, typically to take advantage of the new features in the control or library. We have included information about updating your projects in the online help.
The changes that were made to the interfaces were based on three key design goals. First, we wanted to make SocketTools even easier to use, particularly for newer developers. We also wanted to make the programming interfaces for the various controls and libraries to remain as consistent as possible, while accommodating new features such as IPv6 support. And lastly, we wanted to enable developers to do more with fewer lines of code.
Can previous versions co-exist on the same system?
The SocketTools 9.x libraries and controls have different module names and GUIDs, which will allow them to co-exist with the libraries and controls included with previous versions of SocketTools. New applications can be deployed along side of older applications written using earlier versions of SocketTools without any conflicts.
Can I upgrade to a different edition?
Our online order form only allows you to upgrade the edition that you are currently using. To switch to a different SocketTools edition, please contact our business office and they can assist you. If you have an active SocketTools Subscription, then you already have all SocketTools editions and are entitled to a free upgrade to the current version.
Can I upgrade to the SocketTools Subscription?
Because the SocketTools Subscription includes all of the SocketTools editions, along with free upgrades and priority technical support, there is no direct upgrade path from one of the individual SocketTools products. If you wish to purchase the SocketTools Subscription and have any questions about upgrading from your current version, please contact the business office and they can assist you.
What happens with support after upgrading?
If you currently have a technical support contract at the time you upgrade, your new SocketTools license will be transferred to that contract for the remainder of the support period. Technical support for the previous version of SocketTools will also remain available for the remainder of the contract.
Will you continue to sell previous versions?
General sales of previous versions of SocketTools are discontinued when a new release is available. However, if you need a license for an older version of SocketTools, please contact the business office. Previous versions can be made available on request. Please note that support options for an older version of SocketTools may be limited.
Do you provide support for previous versions?
Free technical support for older versions of SocketTools is based on their life cycle, which is typically from that version’s original release date to approximately one year after its last major update is released.
Technical support for SocketTools 8 ended on December 31, 2016. Additional options for extended support may be available. If you have any questions please contact our business office.
Can I continue using the previous version?
The upgrade exchanges your current license with a license for the new version of SocketTools. You will be able to still modify, compile and redistribute your existing applications using the previous version of SocketTools and you will be able to obtain technical support for the previous version until the product reaches its end-of-life. Note that you may not transfer or share your license for the previous version with another developer after you have upgraded.