The SocketTools ActiveX Edition includes components that implement
        fourteen standard Internet application protocols, as well as libraries
        which provide support for general TCP/IP networking services, encoding
        and compressing files, processing email messages and ANSI terminal
        emulation. The following controls are included in the SocketTools
        ActiveX Edition:
        
          Domain Name Service Control
          
          The Domain Name Service (DNS) protocol is what applications use to
          resolve domain names into Internet addresses, as well as provide
          other information about a domain, such as the name of the mail
          servers which are responsible for receiving email for users in that
          domain. The DNS control enables an application to query one or more
          nameservers directly, without depending on the configuration of the
          client system.
          File Encoding Control
          
          The File Encoding control provides methods for encoding and decoding
          binary files, typically attachments to email messages. The process
          of encoding converts the contents of a binary file to printable text.
          Decoding reverses the process, converting a previously encoded text
          file back into a binary file. The control supports a number of
          different encoding methods, including support for the base64, uucode,
          quoted-printable and yEnc algorithms. The control can also be used to
          compress and expand data in a user-supplied buffer or in a file.
          File Transfer Protocol Control
          
          The File Transfer Protocol (FTP) control provides methods for
          uploading and downloading files from a server, as well as a
          variety of remote file management methods. In addition to file
          transfers, an application can create, rename and delete files and
          directories, list files and search for files using wildcards. The
          control provides both high level methods, such as the ability to
          transfer multiple files in a single method call, as well as access to
          lower level remote file I/O methods.
          Hypertext Transfer Protocol Control
          
          The Hypertext Transfer Protocol (HTTP) control provides an interface
          for accessing documents and other types of files on a server. In some
          ways it is similar to the File Transfer Protocol in that it can be
          used to upload and download files; however, the protocol has expanded
          to also support remote file management, script execution and
          distributed authoring over the World Wide Web. The SocketTools
          Hypertext Transfer Protocol control implements version 0.9, 1.0 and
          1.1 of the protocol, including features such as support for proxy
          servers, persistent connections, user-defined header fields and
          chunked data.
          Internet Control Message Protocol Control
          
          The Internet Control Message Protocol (ICMP) is commonly used to
          determine if a server is reachable and how packets of data are
          routed to that system. Users are most familiar with this protocol as
          it is implemented in the ping and tracert command line utilities. The
          ping command is used to check if a system is reachable and the amount
          of time that it takes for a packet of data to make a round trip from
          the local system, to the server and then back again. The tracert
          command is used to trace the route that a packet of data takes from
          the local system to the server, and can be used to identify
          potential problems with overall throughput and latency. The control
          can be used to build in this type of functionality in your own
          applications, giving you the ability to send and receive ICMP echo
          datagrams in order to perform your own analysis.
          Internet Message Access Protocol Control
          
          The Internet Message Access Protocol (IMAP) is an application
          protocol which is used to access a user's email messages which are
          stored on a mail server. However, unlike the Post Office Protocol
          (POP) where messages are downloaded and processed on the local
          system, the messages on an IMAP server are retained on the server and
          processed remotely. This is ideal for users who need access to a
          centralized store of messages or have limited bandwidth. For example,
          traveling salesmen who have notebook computers or mobile users on a
          wireless network would be ideal candidates for using IMAP. The
          SocketTools IMAP control implements the current standard for this
          protocol, and provides methods to retrieve messages, or just certain
          parts of a message, create and manage mailboxes, search for specific
          messages based on certain criteria and so on. The interface is
          designed as a superset of the Post Office Protocol interface, so
          developers who are used to working with the POP3 control will find
          the IMAP control very easy to integrate into an existing
          application.
          Internet Server Control
          
          The Internet Server control provides a simplified interface
          for creating event-driven, multithreaded server applications using
          the TCP/IP protocol. The control interface is similar to the
          SocketWrench ActiveX control, however it is designed specifically to
          make it easier to implement a server application without requiring
          the need to manage multiple socket controls. In addition, the
          Internet Server control supports secure communications using the
          Secure Sockets Layer (SSL) and Transport Layer Security (TLS)
          protocols.
          Mail Message Control
          
          The Mail Message control provides an interface for composing and
          processing email messages and newsgroup articles which are
          structured according to the Multipurpose Internet Mail Extensions
          (MIME) standard. Using this control, an application can easily create
          complex messages which include multiple alternative content types,
          such as plain text and styled HTML text, file attachments and
          customized headers. It is not required that the developer understand
          the complex MIME standard; a single method call can be used to create
          multipart message, complete with a styled HTML text body and support
          for international character sets. The Mail Message control can be
          easily integrated with the other mail related protocol libraries,
          making it extremely easy to create and process MIME formatted
          messages.
          Network News Transfer Protocol Control
          
          The Network News Transfer Protocol (NNTP) control is used with servers that
          provide news services. This is similar in functionality to bulletin
          boards or message boards, where topics are organized hierarchically
          into groups, called newsgroups. Users can browse and search for
          messages, called news articles, which have been posted by other
          users. On many servers, they can also post their own articles which
          can be read by others. The largest collection of public newsgroups
          available is called USENET, a world-wide distributed discussion
          system. In addition, there are a large number of smaller news
          servers. For example, Microsoft operates a news server which
          functions as a forum for technical questions and announcements. The
          SocketTools control provides a comprehensive interface for accessing
          newsgroups, retrieving articles and posting new articles. In
          combination with the Mail Message control to process the news
          articles, SocketTools can be used to integrate newsgroup access with
          an existing email application, or you can implement your own
          full-featured newsgroup client.
          News Feed Control
The News Feed control 
          enables an application to download and process a syndicated news feed 
          in in standard RSS format. News feeds can be accessed remotely from a 
          web server, or locally as an XML formatted text file. The source of 
          the feed is determined by the URI scheme that is specified. If the 
          http or https scheme is specified, then the feed is retrieved from a 
          web server. If the file scheme is used, the feed is considered to be 
          local and is accessed from the disk or local network. The News Feed 
          control provides an interface that enables you to open a feed by URL 
          and iterate through each of the items in the feed or search for a 
          specific feed item. The control also provides a method that can be 
          used to parse a string that contains XML data in RSS format, where the 
          feed may have been retrieved from other sources such as a database.
          Post Office Protocol Control
          
          The Post Office Protocol (POP) control provides access to a user's new email
          messages on a mail server. Methods are provided for listing available
          messages and then retrieving those messages, storing them either in
          files or in memory. Once a user's messages have been downloaded to
          the local system, they are typically removed from the server. This is
          the most popular email protocol used by Internet Service Providers
          (ISPs) and the SocketTools control provides a complete interface for
          managing a user's mailbox. This control is typically used in
          conjunction with the Mail Message control, which is used to process
          the messages that are retrieved from the server.
          Remote Access Services Control
          
          The Remote Access Services (RAS) control enables an application to
          connect to an Internet Service Provider (ISP) using a standard
          Dial-Up Networking connection. Using this control, the application
          can discover what dial-up devices are available, what dial-up
          networking entries, known as "connectoids", are available
          on the local system and allows the program to manage those
          connections. Existing connections can be monitored, new connections
          created and a single control can be used to manage multiple dial-up
          connections if the system has more than one modem. While Windows can
          be configured to simply autodial a service provider whenever a
          network connection is needed, this component gives your application
          complete control over the process of connecting to a service
          provider, monitoring that connection and then terminating that
          connection if needed.
          Remote Command Protocol Control
          
          The Remote Command protocol is used to execute a command on a server
          and return the output of that command to the client. The SocketTools
          control provides an interface to this protocol, enabling applications
          to remotely execute a command and process the output. This is most
          commonly used with UNIX based servers, although there are
          implementations of remote command servers for the Windows operating
          system. The SocketTools control supports both the rcmd and rshell
          remote execution protocols and provides methods which can be used to
          search the data stream for specific sequences of characters. This
          makes it extremely easy to write Windows applications which serve as
          light-weight client interfaces to commands being executed on a UNIX
          server or another Windows system. The control can also be used to
          establish a remote terminal session using the rlogin protocol, which
          is similar to how the Telnet protocol methods.
          Secure Shell Protocol Control
          
          The Secure Shell (SSH) protocol is used to establish a secure
          connection with a server which provides a virtual terminal session
          for a user. Its functionality is similar to how character based
          consoles and serial terminals work, enabling a user to login to the
          server, execute commands and interact with applications running on
          the server. The SSH control provides an interface for
          establishing the connection and handling the standard I/O functions
          needed by the program. The control also provides methods that enable
          a program to easily scan the data stream for specific sequences of
          characters, making it very simple to write light-weight client
          interfaces to applications running on the server.
          Simple Mail Transfer Protocol Control
          
          The Simple Mail Transfer Protocol (SMTP) enables applications to
          deliver email messages to one or more recipients. The control
          provides an interface for addressing and delivering messages, and
          extended features such as user authentication and delivery status
          notification. Unlike Microsoft's Messaging API (MAPI) or
          Collaboration Data Objects (CDO), there is no requirement to have
          certain third-party email applications installed or specific types
          of servers installed on the local system. The SocketTools control can
          be used to deliver mail through a wide variety of systems, from
          standard UNIX based mail servers to Windows systems running Exchange
          or Lotus Notes and Domino. Using the SocketTools control, messages
          can be delivered directly to the recipient, or they can be routed
          through a relay server, such as an Internet Service Provider's mail
          system. The Mail Message control can be integrated with this control
          in order to provide an extremely simple, yet flexible interface for
          composing and delivering mail messages.
          SocketWrench Control
          
          The SocketWrench control provides a higher-level interface to the
          Windows Sockets API, designed to be suitable for programming
          languages other than C and C++. In addition, SocketWrench supports
          secure communications using the Secure Sockets Layer (SSL) and
          Transport Layer Security (TLS) protocols.
          Telnet Protocol Control
          
          The Telnet protocol is used to establish a connection with a server
          which provides a virtual terminal session for a user. Its
          functionality is similar to how character based consoles and serial
          terminals work, enabling a user to login to the server, execute
          commands and interact with applications running on the server.
          The Telnet control provides an interface for establishing the
          connection, negotiating certain options (such as whether characters
          will be echoed back to the client) and handling the standard I/O
          functions needed by the program. The control also provides methods
          that enable a program to easily scan the data stream for specific
          sequences of characters, making it very simple to write light-weight
          client interfaces to applications running on the server. This control
          can be combined with the Terminal Emulation control to provide
          complete terminal emulation services for a standard ANSI or DEC-VT220
          terminal.
          Terminal Emulation Control
          
          The Terminal Emulation control provides a comprehensive interface for
          emulating an ANSI or DEC-VT220 character terminal, with full support
          for all standard escape and control sequences, color mapping and
          other advanced features. The control methods provide both a high
          level interface for parsing escape sequences and updating a display,
          as well as lower level primitives for directly managing the virtual
          display, such as controlling the individual display cells, moving the
          cursor position and specifying display attributes. This control can
          be used in conjunction with the Remote Command or Telnet Protocol
          control to provide terminal emulation services for an application, or
          it can be used independently. For example, this control could also be
          used to provide emulation services for a program that provides serial
          modem connections to a server.
          Text Message Control
The Text Message 
          control enables applications to send text messages to mobile devices. 
          It provides an interface that can be used to obtain information about 
          the wireless service provider that is associated with the phone number 
          for a smartphone or other mobile device, and can send a message with a 
          single method call. Messages can be delivered directly to the service 
          provider's gateway, or can be relayed through a local mail server. 
          With this control, an application can send text message alerts when 
          certain conditions occur (such as an error) or as a notification 
          mechanism that's used in addition standard email messages.
          Time Protocol Control
          
          The Time Protocol control provides an interface for synchronizing the
          local system's time and date with that of a server. The
          control enables developers to query a server for the current time and
          then update the system clock if desired.
          Web Location Control
          
          The Web Location control provides geographical information about the 
          physical location of the computer system based on its external IP 
          address. This can enable developers to know where their application is 
          being used, and provide convenience functionality such as 
          automatically completing a form based on the location of the user.
          Web Storage Control
          
          The Web Storage control provides private cloud storage for uploading and 
          downloading shared data files which are available to your application.
          This is primarily intended for use by developers to store configuration
          information and other data generated by the application. For example,
          you may want to store certain application settings, and the next time
          a user or organization installs your software, those settings can be
          downloaded and restored.
          Whois Protocol Control
          
          The Whois protocol control provides an interface for requesting
          information about an Internet domain name. When a domain name is
          registered, the organization that registers the domain must provide
          certain contact information along with technical information such as
          the primary name servers for that domain. The Whois protocol enables
          an application to query a server which provides that registration
          information. The SocketTools control provides an interface for
          requesting that information and returning it to the program so that
          it can be displayed or processed.