The SocketTools license permits the use of the .NET assemblies to build application software and redistribute that software to end-users. There are no restrictions on the number of products in which the classes may be used. However, if it has been installed with an evaluation license, any products built using SocketTools cannot be redistributed to another system until a licensed copy of the toolkit has been purchased.
SocketTools .NET is designed for the Microsoft Windows platform using the .NET Framework 1.1 or later versions. For software development, it is supported on Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP, and Windows 2000. It is recommended that all platforms have the current version of Internet Explorer installed, along with all service packs and critical updates.
SocketTools .NET includes assemblies for the .NET 1.1, .NET 2.0 and .NET 3.5 frameworks and can be used with Visual Studio .NET 2003, Visual Studio 2005 and Visual Studio 2008. It is also supported using Borland Developer Studio 2006 and CodeGear RAD Studio 2007. It is recommended that all service packs and updates are installed for your development tools.
For those applications created using SocketTools .NET, the appropriate class libraries (assemblies) must be distributed along with the application. These files are found in the Redistribute folder where you've installed SocketTools .NET. The following component files should be included with your application:
| File Name | Description |
|---|---|
| SocketTools.Interop.dll | The SocketTools networking library. This library is shared by all of the SocketTools and SocketTools class libraries. This library should not be referenced directly in the project. |
| SocketTools.DnsClient.dll | The Domain Name Services assembly which provides domain name services for the application. This assembly is added as a reference in the project. |
| SocketTools.FileEncoder.dll | The File Encoding and Decoding assembly which provides functions to encode and compress files. This assembly is added as a reference in the project. |
| SocketTools.FingerClient.dll | The Finger Protocol assembly which enables an application to query a server for information about a specific user. This assembly is added as a reference in the project. |
| SocketTools.FtpClient.dll | The File Transfer Protocol assembly which enables an application to upload and download files, as well as manage files on the server. This assembly is added as a reference in the project. |
| SocketTools.GopherClient.dll | The Gopher Protocol assembly which enables an application to query a server for resources and documents. This assembly is added as a reference in the project. |
| SocketTools.HttpClient.dll | The Hypertext Transfer Protocol assembly which enables an application to transfer files and query a web server. This assembly is added as a reference in the project. |
| SocketTools.IcmpClient.dll | The Internet Control Message Protocol assembly which provides ping and traceroute functionality for an application. This assembly is added as a reference in the project. |
| SocketTools.ImapClient.dll | The Internet Message Access Protocol assembly which enables an application to retrieve mail messages from a server and manage one or more mailboxes remotely. This assembly is added as a reference in the project. |
| SocketTools.InternetDialer.dll | The Remote Access Services assembly which enables an application to establish a dial-up networking connection using PPP or SLIP. This assembly is added as a reference in the project. |
| SocketTools.InternetServer.dll | The Internet Server assembly which provides the framework for implementing an event-driven multi-threaded server application. This assembly is added as a reference in the project. |
| SocketTools.MailMessage.dll | The Mail Message assembly which enables an application to create, store and parse e-mail messages. This assembly is added as a reference in the project. |
| SocketTools.NetworkTime.dll | The Network Time Services assembly which enables an application to query a time server to determine the current time. This assembly is added as a reference in the project. |
| SocketTools.NntpClient.dll | The Network News Transfer Protocol assembly which enables an application to download and process messages from a news server. This assembly is added as a reference in the project. |
| SocketTools.PopClient.dll | The Post Office Protocol assembly which enables an application to retrieve messages from a mail server. This assembly is added as a reference in the project. |
| SocketTools.RshClient.dll | The Remote Command Shell assembly which enables an application to execute commands on a server, returning the output of the command to the program. This assembly is added as a reference in the project. |
| SocketTools.SmtpClient.dll | The Simple Mail Transfer Protocol assembly which enables an application to submit an e-mail message for delivery to a mail server. This assembly is added as a reference in the project. |
| SocketTools.SocketWrench.dll | The SocketWrench (Windows Sockets) assembly which provides a general purpose networking interface, allowing applications to connect to other systems and exchange data using the TCP/IP protocol. This assembly is added as a reference in the project. |
| SocketTools.SshClient.dll | The Secure Shell assembly which enables an application to establish a secure, encrypted connection with a server providing either an interactive terminal session or the ability to execute commands remotely. This assembly is added as a reference in the project. |
| SocketTools.TelnetClient.dll | The Telnet Protocol assembly which enables an application to connect to a server, providing an interactive terminal session. This assembly is added as a reference in the project. |
| SocketTools.Terminal.dll | The Terminal Emulation control which provides VT-100 and VT-220 terminal emulation services for an application, typically used for interactive sessions with a TELNET or SSH server. This control is added as a visual component to the application. |
| SocketTools.TraceLog.dll | The SocketTools debugging library used to generate trace log files which record the low-level networking functions called and the data exchanged. This library only needs to be distributed if the debugging features of the class are used. This library should not be referenced directly in the project. |
| SocketTools.WhoisClient.dll | The Whois Protocol assembly which enables an application to query a server for registration information about a specific domain name. This assembly is added as a reference in the project. |
The SocketTools components have embedded information which provides version information to an installation utility. This information, called the version resource, specifies the assembly's version number among other things. If you are using a third-party or in-house installation program, it is extremely important that the program knows how to use this information. You should never overwrite a newer (higher) version of the SocketTools assembly with an older (lower) version or build number.
The SocketTools assembly and interop library should be installed in the same directory as the application executable on the target system. Note that you should not install the SocketTools assemblies in the Global Assembly Cache (GAC) or in the Windows system folder. If you are using the Trace related properties in your application, you should also include SocketTools.TraceLog.dll in your installation package.
The SocketTools assemblies are given what is known as a "strong name", which means they have been signed with a cryptographic public/private key pair which ensures that the assembly has not been tampered with. However, if you are redistributing an updated version of the assembly, it requires that you also recompile your application and include it in the distribution. Unlike standard Windows dynamic link libraries, you cannot simply redistribute the assembly by itself because a strong-name signed assembly requires that the signature of the assembly, which includes the version number, match exactly what the application was built with. This is a feature in .NET designed to ensure that the application is using the correct version of the assembly.