- 1. What is SocketTools?
SocketTools is a comprehensive toolkit for Internet and intranet software development that
consists of managed code components for the .NET Framework, ActiveX controls, COM-based scripting components and/or dynamic link libraries (DLLs).
Using SocketTools, a developer can easily incorporate Internet functionality into their
application without requiring that they learn general Windows Sockets programming or the
technical specifications of a particular application protocol. Additional information
about the product can be found in the
SocketTools Overview.
- 2. What is the current version of SocketTools?
The current version for SocketTools is version 7.2, build 7210.
To determine the version of the controls and/or libraries that you have installed, run the License
Manager utility that is included in the program folder created during installation. Using this utility,
you can display the version and build number for the product, as well as for each control
individually.
Customers who are currently using version 7.0 or later can download and
install the current release at no charge.
Customers with a version earlier than 7.0 can purchase an upgrade
online.
- 3. What are the different SocketTools Editions?
The SocketTools .NET Edition includes managed code classes for development using
Visual Studio .NET 2003 or later versions. The SocketTools .NET classes can be
used in both Visual Basic and C# and provide an interface that is similar to the
ActiveX controls in the ActiveX Edition, making the transition to the .NET platform
as simple as possible.
The 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.
The 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.
- 4. Can
SocketTools be used to establish secure connections?
Yes, all three editions of the SocketTools family of products support secure,
encrypted connections. The SocketTools .NET Edition consists of managed code
components for C# and VB.NET, the SocketTools ActiveX Edition consists of ActiveX components,
and the SocketTools Library Edition consists of dynamic link libraries (DLLs). Each
edition is capable of establishing secure connections using the SSL and TLS protocols.
In addition, SocketTools also support 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.
- 5. What are the minimum system requirements?
SocketTools requires Windows XP or later versions of the Windows platform.
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. The following table lists the
minimum operating system versions required:
| Operating System |
Minimum Version |
| Windows XP |
5.10.2600 |
| Windows Server 2003 |
5.20.3790 |
| Windows Vista |
6.0.6000 |
| Windows Server 2008 |
6.0.6001 |
| Windows 7 |
6.1.7600 |
For Windows XP, Service Pack 2 (SP2) must be installed and
Service Pack 3 (SP3) is recommended. It is recommended that
developers using Windows Vista install Service Pack 2 (SP2) and
developers using Windows 7 should install Service Pack 1 (SP1).
SocketTools does not directly use Internet Explorer or the WinInet library, however
it does depend on several core operating system libraries that are shared with
Internet Explorer in earlier versions of Windows. It is recommended that you upgrade to the latest version of
Internet Explorer available for your platform, and make sure that all service packs
and security updates have been installed.
- 6. Is SocketTools compatible with Windows 7?
All SocketTools 7 Editions are fully supported under Windows 7 and there are no
special coding considerations required. Note that it may be necessary to configure the
Windows Firewall so that your applications are permitted to establish connections and/or
accept inbound connections on specific ports. Refer to the operating system documentation
for more information on how to configure the firewall.
- 7. Can SocketTools be used with Visual Studio 2010?
Yes. The SocketTools .NET Edition includes managed code classes written
specifically for the .NET Framework and can be used with Visual Studio
2010, Visual Studio 2008, Visual Studio 2005 and Visual Studio .NET
2003. The ActiveX controls in the ActiveX Edition can also be used with
the .NET Framework 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, which includes
assemblies that target the .NET Framework.
- 8. Can SocketTools be used with Visual Studio 6.0?
Yes, all editions of SocketTools can be used with
Visual Studio 6 development tools. It is recommended that you install at least Service
Pack 6 for Visual Studio 6. The current service pack for Visual Studio 6 can be
downloaded from Microsoft's
Visual Studio Developer Center.
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.
- 9. Can SocketTools be used with Visual Studio Express Editions?
Yes, the SocketTools components and libraries can be used with the free
Visual Studio 2010 Express products.
If you are using Visual Basic or Visual C# 2010 Express, it is recommended that you
download the SocketTools .NET Edition. If you are using Visual C++ Express, 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.
- 10. 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 PHP.
- 11. Can I download an evaluation copy of SocketTools?
Yes, evaluation copies for all 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.
- 1. What is the SocketTools .NET Edition?
The SocketTools .NET Edition is a collection of managed code components
designed specifically for Visual Studio .NET development tools. The .NET
Edition is ideal for the developer who is programming in Visual Basic .NET
or C# on the Windows platform. It includes components for uploading and
downloading files, sending and retrieving e-mail messages, posting form
data to a web server, remote command execution, retrieving and posting news
articles and much more. Supported standards and protocols include FTP, HTTP,
ICMP, IMAP4, MIME, POP3, NNTP, POP3, RAS, RSH, SMTP, SSH and TELNET. In
addition to specific protocols, the .NET Edition also includes the
SocketWrench .NET class for lower level network access.
- 2. What version of the .NET Framework is supported?
The minimum version of Visual Studio .NET required for development is version
7.1.3088 (Visual Studio .NET 2003) and the minimum version of the .NET Framework
required for development and redistribution is version 1.1.4322 (version 1.1
with Service Pack 1 installed). The following .NET Frameworks are supported:
| Visual Studio |
Framework |
Version |
| Visual Studio .NET 2003 |
Version 1.1 |
1.1.4322 |
| Visual Studio 2005 |
Version 2.0 |
2.0.50727 |
| Visual Studio 2008 |
Version 3.5 |
3.5.21022 |
| Visual Studio 2010 |
Version 4.0 |
4.0.30319 |
The .NET Framework 3.0 includes version 2.0 of the Common Language Runtime (CLR)
and is primarily a collection of extension classes that were formally called
WinFX. SocketTools includes two sets of the .NET assemblies, one set is
compatible with version 1.1 of the framework, and the other set is
compatible with version 2.0 and later.
- 3. What is the difference between the .NET Edition and ActiveX Edition?
Both the .NET Edition and the ActiveX Edition include the same collection
of components and have similar interfaces, however the .NET Edition
components are .NET managed code components which use the Common
Language Runtime (CLR) and require that the user have the .NET Framework
installed on their system. The ActiveX Edition components are ActiveX
controls, which are primarily designed for older development tools such
as Visual Basic 6.0. While the ActiveX controls can be used with .NET
languages, they can incur a significant performance penalty. The .NET
components in the SocketTools .NET Edition do not use COM interop and
don't have the inherent performance issues that ActiveX controls do.
They also generally simplify redistribution and provide a native
interface that is easier to work with.
- 4. What language were the SocketTools .NET Edition components written in?
The SocketTools .NET components were written in Visual C#. It is
important to note that they can be used in Visual Basic .NET without any
limitations. Because they are managed code components that use the
Common Language Runtime (CLR), SocketTools .NET is compatible with any
Visual Studio programming language and the interface is the same
regardless of the language being used. The product includes examples
written in both Visual Basic .NET and Visual C#.NET.
- 5. Do the SocketTools .NET Edition components support multi-threading?
Yes, the SocketTools .NET components are thread-safe and can be safely
used in a multi-threaded application. In fact, we recommend that most
applications use a multi-threaded design with worker threads performing
activities such as downloading or uploading files, processing e-mail
messages and so on. This allows the main UI thread to remain responsive
to the user while the SocketTools components perform their work in the
background.
- 6. Do the SocketTools .NET Edition components support events?
Yes, the SocketTools .NET components support events to notify the
application when certain actions are taken or a network event occurs.
There are two general types of events that are supported by SocketTools
.NET. The first are network events that occur when an asynchronous
connection is established with the remote host. Examples of these types
of events are OnConnect, OnRead and OnDisconnect. The second type of
events that occur are those which are generated when an action is in
progress or completes. Examples of these types of events are OnProgress,
OnCancel and OnTimeout.
- 7. Can the SocketTools .NET components be used with Visual Basic 6.0?
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 earlier Visual Studio
programming languages. The minimum version of Visual Studio required for
development is version 7.1.3088 (Visual Studio .NET 2003) and the
minimum version of the .NET Framework required for development and
redistribution is version 1.1.4322 (SP1).
- 8. What operating systems are supported with SocketTools .NET?
The SocketTools .NET Edition components are designed to work with Visual
Studio 2008, Visual Studio 2005 or Visual Studio .NET 2003 and require Windows
XP or later versions of the Windows operating system. Windows 2000 and
earlier versions of Windows are not supported. The user must have the .NET
Framework 1.1 installed on their system. If they do not have the
Framework installed, it can be downloaded through Windows Update. If the
user is running Windows XP, the Framework is part of the Service Pack 2
(SP2) update. Windows Vista and Windows 7 includes both version 1.1 and version 2.0 of
the .NET Framework.
- 9. Should I purchase the .NET Edition if I already use the ActiveX Edition?
If you are currently using the ActiveX Edition with Visual Basic .NET or
Visual C#.NET then we strongly recommend that you move to the
SocketTools .NET Edition. You'll see improved performance and a more
natural interface that makes the components much easier to work with. If
you're planning on migrating your application to the Visual Studio .NET
platform, many of the the properties, methods and events are the same.
Although there are some differences between the two editions in terms of
the interface, those differences are minor. Both editions include the
same basic collection of components and support the same Internet
application protocols.
- 1. What are the general terms of the license agreement?
The complete license agreement for the product can be found in the online help. In
general terms, it permits you to install a single copy of the product on your computer
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 the control.
There are two primary restrictions, the first being that the product is only licensed
for a single developer. The second restriction is that you may not use the controls or
libraries to create a software development product which is then used and/or resold by
your customers. In other words, you may use the control 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 software which, in turn, they distribute to
end-users. If you have any questions regarding the licensing agreement,
please
contact us.
- 2. 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. However, 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. Once you have purchased a license,
you only need to recompile your application with your new, registered license.
- 3. Is a license required for each developer using the product?
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. For
information about purchasing additional licenses, please
contact us.
- 4. Does this product require activation or online registration?
No, SocketTools does not require electronic activation or registration. We feel that
this is too restrictive for developers who frequently must develop and test applications
on multiple platforms. Although online registration is not required, it is recommended
because this entitles the developer to technical support and free service pack updates to
the product.
- 5. What is the runtime license key?
When the product is installed with a serial number, a runtime license key will be
created which is used by the control to validate that a licensed copy of the product has
been purchased. For languages like Visual Basic, 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 control must be initialized with
the license key by calling the Initialize method. The key itself is
stored in the \Include folder where the product was installed. For more information, refer
to the online help for the Initialize method. Please note that the
product serial number is not the same as the license key.
- 6. Why do I get a licensing error when redistributing my application?
There are two common reasons that a licensing error may occur when attempting to
execute an application on another system. If the product was installed with an evaluation
license, then it can only be used on the development system during the evaluation
period. Attempting to use an evaluation copy of the product will generate an error if the
application is installed on another system.
If a development license has been purchased and registered on the development system,
then it may be that the language does not support the appropriate interface to
automatically manage the runtime license key. For example, using the CreateObject
function to create an instance of an ActiveX control will cause a licensing error when the
application is redistributed to another system. The control's Initialize
method must be called immediately after the control has been created, specifying the
runtime license key as one of the arguments. For more information, refer to the
online help for the product.
- 7. Are there any royalties or runtime licensing fees?
No, absolutely not. 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. For more information about how our products
are licensed, please refer to our
Product Licensing FAQ.
- 1. Does SocketTools require Internet Explorer or the WinInet library?
The SocketTools controls and libraries require only that the networking subsystem
be installed and configured on the computer system; this includes the standard Windows
Sockets library. All of the supported Windows platforms include the Windows Sockets library
as part of the base operating system.
- 2. What version of the Windows Sockets API is used?
SocketTools 7 and later 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.
- 3. Do I have to be connected to the Internet when I develop my application?
You can develop your application on a system that does not have an active connection to
the Internet or any local network. The SocketTools components will automatically
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 Library Edition, the networking
libraries are loaded whenever the initialization function is called by your application.
- 4. Should I redistribute the Windows Sockets DLL with my software?
No, you should never redistribute the Windows Sockets libraries with your application. These
libraries are specific to the TCP/IP stack and operating system, and can cause serious problems
if installed on another platform. Note that your setup software may include one of these
libraries in your setup project as a file dependency. If this is the case, you must take steps
to remove it and insure that it is not included in your installation package.
- 5. Does the Library Edition use standard DLLs or ActiveX DLLs?
The Library Edition uses standard Windows DLLs which can be used by virtually any Windows
programming language or scripting tool. 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. A general rule of thumb is that if your language of choice
is capable of calling native Windows API functions, it can use the SocketTools libraries.
- 6. Is it necessary to make specific code changes for Windows Vista?
There are no specific code changes that are required to use SocketTools 7 under Windows Vista.
Any changes in platform-specific functionality are handled transparently by the controls or
libraries. From an application development perspective, you will not have to make any changes
to your program unless you want to take advantage of features specific to the Vista operating
system.
- 7. Can I use SocketTools in a multithreaded application?
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. One important consideration is that by default
the client session can only be referenced by the thread that created it. If you wish to
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.
- 8. Are any third-party libraries required when redistributing my application?
No. The SocketTools components and libraries 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 done by the installer, but can also be performed from the command line
using the RegSvr32.exe utility. It is recommended that the components be installed in
the System32 folder.
Note that the libraries in the Library Edition are not COM objects and there is no need to
register them. You may simply install them in the same directory as your application.
- 1. Is SocketTools 7 backwards compatible with previous versions?
SocketTools 7 has introduced several significant new features, including native 64-bit
components and support for IPv6 networks. Updating an application from that used an earlier
version of SocketTools may require some source changes, however those changes will
typically be minimal and the majority of them will be 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 accomoding new features such as IPv6 support.
And lastly, we wanted to enable developers to do more with fewer lines of code.
- 2. Will new programs written using SocketTools 7 co-exist with older programs?
The new 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 written using the SocketTools 7 controls can be
deployed along side of older applications written using SocketTools 6.0 or earlier
versions without any conflicts.
- 3. Will you continue to sell SocketTools 6.0?
General sales of previous versions of SocketTools have been discontinued. However,
developers will be able to purchase additional licenses for SocketTools 6.0
directly through Catalyst for a limited time. For information about purchasing
additional licenses for SocketTools 6.0 or previous versions, please
contact the business office.
- 4. Will you continue to support SocketTools 6.0?
Yes. Technical support for SocketTools 6.0 will continue to be available until it
reaches end-of-life on December 31, 2012. The only support options available for earlier
versions of SocketTools are self-help through the online technical references, knowledge
base articles and support forums.
- 5. What happens with my technical support contract when I upgrade?
If you currently have an active technical support contract when you upgrade, your new
SocketTools license will be transferred to that contract for the remainder of the contract
period. Technical support for the previous version of SocketTools will also remain
available for the remainder of the contract. Renewed contracts are only available for the
current version of the product.
- 6. Can I continue to maintain existing applications after I upgrade?
The upgrade exchanges your license with a new license for the current 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. Discounted pricing for developers with multiple licenses
may be available to you. For more information, please
contact us.