Town Target Tech. Ltd.

SocketTools Visual Edition
30-day Eval
Order
The SocketTools Visual Edition consists of 16-bit Visual Basic (VBX) controls and both 16-bit and 32-bit ActiveX (OCX) controls for use with visual development environments such as Visual Basic, Visual C++ and Delphi. A total of twenty controls provide client interfaces for the major application protocols such as the File Transfer Protocol, Hypertext Transfer Protocol, Simple Mail Transfer Protocol, Domain Name Service and Telnet. All versions of Visual Basic from 2.0 and later are supported, and the ActiveX controls can be used with any 32-bit development tool that supports COM and the ActiveX control specification.

The network controls support both synchronous (blocking) and asynchronous modes of operation, and also include the ability to log the Windows Sockets function calls for debugging purposes. All of the controls are thread-safe and can be used in multithreaded containers, such as Internet Explorer. With the exception of the visually oriented controls (the browser, image viewer and terminal emulation controls), they can also be used as simple Automation objects, without requiring that they be placed on a form or inside another container.

With full support for both 16-bit and 32-bit Windows platforms, illustrative samples, comprehensive online help and a tutorial to help developers get started, the SocketTools Visual Edition provides the greatest functionality and broadest range of features available for building Internet and intranet applications. The controls are completely royalty free and include a 30-day money-back guarantee

 


 

SocketTools Visual Basic and ActiveX Controls:
Audio Player Post Office Protocol (POP3)
Domain Name Server (DNS) Remote Access Services (RAS)
File Transfer Protocol (FTP) Remote Command Execution (RLIB)
Finger Protocol Simple Mail Transfer Protocol (SMTP)
Gopher Protocol SocketWrench (Windows Sockets)
cshtpctl.gif (990 bytes) Hypertext Transfer Protocol (HTTP) Telnet Protocol
Image Viewer Terminal Emulation
Internet Control Message Protocol (Ping) Time Protocol
Mail Message (MIME) Web Browser
Network News Transfer Protocol (NNTP) Whois Protocol

Audio Player Control
The Audio Player control enables the playing of audio files on an appropriately equipped system. In addition to the standard Windows WAVE and MIDI formats, the control can also play back audio files stored in AIFF, AU and VOC formats.
Domain Name Server (DNS)
This client control allows the developer to query a domain name server to determine the IP address or hostname of a remote system without requiring that the local host be configured to use DNS. It also does not require an actual connection to the system you are inquiring about and, as such, does not actually determine if the system is accessible. The ST/Netcheck sample demonstrates the ability to validate and locate systems between a range of IP addresses.
File Transfer Protocol (FTP)
This control allows the developer to easily establish connections with remote FTP servers to send or retrieve files. The programmer need only open a connection with the server, specify the local and remote filenames for transfer and close the connection when completed. All details of the application protocol, such as user authentication, binary versus text data transfer, "passive mode" transfers and error detection are handled by the library/control. It also allows the user to retrieve listings of remote files and directories, create, remove and change directories and so on. Both blocking and non-blocking file transfers are supported by the control. This component would be useful for downloading large amounts of data, writing programs that periodically update an FTP archive with new software, checking for new files added to an archive and automatically downloading them, providing remote "file manager" services and so on. The FTP sample, ST/FTP, is a feature-rich FTP utility that utilizes just about all of the controls functionality.

The FTP control has several significant enhancements which make it even easier to use, and incorporates a work-around for a serious flaw in the Microsoft IIS software that would leave files locked after a file transfer. Some of these new features are:

  • Automatic directory parsing. No longer do you have to parse the directory output from an FTP server. The control now recognizes the three major directory formats (Windows, UNIX and VMS) and automatically parses the listing for you. In addition, the control also supports an extension to the STAT command which returns information about a single file (including the date, size, permissions and file owner) without incurring the overhead of a complete directory list.
  • Proxy server support. The control now supports four specific types of proxy servers (including the popular Gauntlet and InterLock servers) as well as a user-defined proxy type that can be used to connect with virtually any kind of FTP server.
  • Multiple file retrievals. You can now specify wildcards to transfer multiple files at one time between the local system and remote server.
Finger Protocol Control
The Finger client control enables the application to request information from a finger server about a specific user. The information that is typically returned is that date and time of the user's last login to that server, and if any outstanding mail messages are waiting. The actual information and format of that information depends on the server being queried.
Gopher Protocol Control
The Gopher client control enables the application to search a Gopher server for a specific document or resource and return that information to the client. The Gopher protocol pre-dates the Hypertext Transfer Protocol (HTTP) that is used with the World Wide Web and is similar in a number of ways. Resources returned by the Gopher server may be text files, as well as binary executables, image files and encoded file archives.
Hypertext Transfer Protocol Control
The Hypertext Transfer Protocol (HTTP) is a lightweight, stateless application protocol that is used to access resources on web servers, as well as send data to those servers for processing. The client control provides direct, low-level access to the server and the commands that are used to retrieve resources (i.e.: documents, images, etc.). The control also provides a simple interface for downloading resources to the local host, similar to how the FTP client control can be used to download files.
Image Viewer Control
This control is a caching image viewer capable of displaying GIF, JPEG, PCX, XBM and BMP images. In addition to those image formats listed, the control is capable of displaying additional types specified in an INI configuration file. Other image libraries can be "plugged in" to the viewer (up to 256 image types are supported by the viewer). Since the viewer is used by the Web control to display inline graphics, any additional image types can also by displayed by the Web viewer as well.
Internet Control Message Protocol (Ping)
This control component allows developers to determine if a remote host is "up" on the network by sending a special kind of packet to it. If the remote host is up, it will reply to the packet, otherwise it won't (and it can be assumed that the system is unavailable for some reason). It's called "ping" because it's analogous to one submarine pinging the water to see if it can find another submarine.
Mail Message (MIME) Control
The MailMessage control enables the developer to easily manage mail messages. It can be used to create new messages as well as parse an existing message. The control can be used with simple RFC 822 compliant messages, as well as RFC 1521 MIME compliant messages with multipart attachments.

The Mail Message (MIME) control has been enhanced to support additional multipart message types, and is more tolerant of those messages created by mail clients that do not conform to the standards outlined in RFC 2045. Some additional features are:

  • Clipboard support. The control can now read messages from the clipboard and store messages to the clipboard. When used in conjunction with the POP3 and SMTP controls, it is now both easier and faster to load and parse messages.
  • Attaching mail messages. The control now supports the message/rfc822 content type and inline content disposition which is used to attach one mail message to another.
  • Support for message digests. You can request that the control generate a unique message digest, using the MD5 hashing algorithm described in RFC 1321. The control also supports the optional Content-MD5 header field.
Network News Transfer Protocol (NNTP)
The NNTP control is able to establish a connection to a newsgroup server, retrieve and search newsgroup messages and to also post messages if the server allows it. The NNTP's properties, events and methods allow for flexible integration into an application that would benefit from newsgroup messages.

The NNTP control now supports saving and posting messages from the clipboard, and can be used in combination with the enhancements to the MIME control listed above.

Post Office Protocol (POP3)
The POP3 component handles the scanning of new messages and retrieving of them from the remote host to the local system, while also providing the ability to delete them. Applications would include those that want integrated email functionality, background programs that alert the user to incoming mail, and so on. This control may be used in combination with the SMTP control to provide an application with Internet mail capability. Attachments can be decoded using a DLL that is included with SocketTools that supports MIME base 64 and UUENCODE formats.

The POP3 control has been updated to support additional authentication types, the ability to retrieve a message and send it directly to a file or the clipboard, and support for several POP3 extensions. Some of the new features are:

  • Clipboard support. The ability to retrieve a message and store that message in a file or copy it to the clipboard using the new StoreMessage method. This can be used in conjunction with the MIME control, enabling a message to be easily retrieved and parsed with a minimum of code. A Progress event is fired as the message is retrieved from the server, allowing the application to provide feedback to the user.
  • APOP authentication. If supported by the server, the client can now use the APOP authentication method that eliminates the need to send cleartext passwords over the network.
  • Change passwords. The control now supports the ability to change the account password for the specified user if the mail server supports the poppass protocol.
  • Retrieve specific message headers. If the mail server supports the XLST extension, the control can now return the values of specific header fields (such as Subject, From and Date) without requiring that the client retrieve the entire message header.
  • Send mail messages. The control can now also be used to send e-mail messages if the server supports the XMIT extension.This enables the client to send a formatted message directly through the POP3 server, without requiring a connection to an SMTP server.
Remote Access Services (RAS)
Any application requiring dial-up services to other host systems can use the RAS control. This control requires that Microsoft's Remote Access Services be installed and configured. Each RAS setup becomes accessible via this control to activate the dial-up sequence. You can prompt the user to override the phone number, user name and password originally configured with the RAS setup. The control can be used to perform the necessary dial-up sequence on behalf of the Internet protocol client controls such as the Web Browser, FTP, Telnet and others.

The RAS ActiveX control has been updated with over twenty new properties and five new methods that give an application complete control over phonebook entries (connectoids) and the dial-up networking session. Please note that these enhancements only apply to the 32-bit ActiveX control. Some of the new features are:

  • Create phonebook entries. Completely new phonebook entries, also called connectoids, can be created using the control, without displaying any kind of user interface. The application has complete control over entries such as the network protocol, assigned IP address, nameserver addresses, encryption, passwords, and many others.
  • Update existing entries. Any of the new properties may be modified for an existing phonebook entry, and that entry may be updated with the new values. Using the properties and methods to create, update, delete and rename phonebook entries, you can even write a complete phonebook management application.
  • Create temporary entries. The control can be used to create a temporary entry that only exists during the time the connection has been established. This is useful if you want your application to connect a specific dial-up networking server, but don't want to require that the user pre-configure their system or create any permanent entries in their phonebook.
Remote Command Execution (RLIB)
This is a component that can be used to execute commands on a remote UNIX host system. The control handles the issues of authentication; all that is required is for the developer to specify the remote system, a user name and the command that is to be executed. This control is provided as a "convenience" component for those developers who need to have remote control of a UNIX server on their network. SocketTools also includes an rlogin control that also establishes remote Unix connections with authentication.
Simple Mail Transfer Protocol (SMTP)
By specifying a remote host and source for the message (either in a file, or by assigning a control property), the SMTP component handles the delivery of a mail message to a remote system. This control may be used in combination with the POP3 control to provide an application with Internet mail capability. Attachments can be encoded using a DLL that is included with SocketTools that supports MIME base 64 and UUENCODE formats.

The SMTP control now supports extended options (ESMTP) and delivering messages directly from a file or from the clipboard, integrating it with the MIME control. Some of the new features are:

  • Clipboard support. Messages can be read directly from the clipboard and sent to an SMTP server. This allows the control to be easily combined with the MIME control, and eliminates the need to create temporary files for message composition.
  • Simplified message delivery. A new method called SendMessage provides a simplified interface for submitting a message. The message, either in a text file or stored in the clipboard, can be sent to directly the mail server. Another method called AppendMessage allows the contents of a file or the clipboard to be appended to a message that is already being composed. A Progress event is triggered as the message is being delivered, allowing the application to provide feedback to the user.
  • Delivery status notification. This option, also known as return receipt, tells the server to mail notification back to the sender when the message has been delivered, or when an error has occurred.
  • Sender authentication. This enables the client to authenticate itself when it submits a message to a server that supports the AUTH option.
  • Message sizing. When sending messages, the client can now use the SIZE option if supported by the server. This is used to indicate to the server the size of the message, which allows the server to accept or reject the message based on it's size before the client begins submission.
  • Immediate delivery. If supported, the control can now use the SESSION option to request that a message be delivered immediately, rather than being queued by the mail server.
SocketWrench (WinSock)
If your internetworking needs do not require any of the standard protocols, then SocketWrench is the answer. SocketWrench is a custom control that insulates the developer from the complexities of the WINSOCK API. This is the control to use to develop your own client/server protocol. With SocketWrench, you can develop both client and server applications using either TCP or UDP protocols. The VBX version of SocketWrench is available as shareware with no registration fee.

The SocketWrench control now makes it easier to read and write binary data, including numeric data, as well as support for additional socket options and other advanced features. Some of these new features are:

  • Reading and writing numeric data. New properties and methods for reading and writing 16-bit and 32-bit integer data have been added, along with a new property to specify the byte order.
  • Reading and writing byte arrays. The new ReadBytes and WriteBytes methods allow the client to easily read and write byte arrays. Because both of these methods use variants, they are also ideal for scripting languages that cannot handle non-variant method parameters.
  • Binding to a specific address. A new property and method allows the control to bind the socket to a specific IP address and port. This can be useful for client sockets on a multihomed system (a system that has more than one network adapter) that need to bind to a specific adapter.
  • Support for immediately sending packets. A new property, called NoDelay, allows the client to specify that packets written to the socket should be sent immediately.
Telnet Client
The Telnet control provides the ability to connect to a remote host and login as a user would on a "dumb" terminal or using a standard serial terminal emulator (such as Procomm). The control provides the fundamental functionality of establishing a connection, sending and receiving data from the host, and closing the connection when the session is finished. This control can be used in combination with the terminal emulation control to provide ANSI emulation capability.
Terminal Emulation Control
A separate control is included that provides VT100/ANSI terminal emulation. This control allows the programmer to automate "remote" jobs on a system, or to provide an emulation facility for their application which may be running on a remote host. All basic ANSI functionality is provided, as well as the ability to map special (function) keys to any sequence of characters.

The terminal emulation control has been enhanced with improved ANSI emulation, as well as support for VT100 and VT220 escape sequences and keymaps. Some of the new features are:

  • Additional emulations. In addition to the ANSI emulation, the control now supports VT100 and VT220 escape sequences, as well as some VT320 sequences. A number of SCO console specific escape sequences are also supported.
  • Graphics mode. The emulator now supports alternate character sets, including the graphics (line drawing) and UK character sets.
  • Color support. The escape sequences for color are now supported. Available in the ANSI and VT220 emulations, this allows foreground and background colors to be set independent of the default colors. In ANSI emulation, color escape sequences for the SCO color console are also recognized.
  • Default keymaps and application mode. In addition to the ANSI keymap which defines the escape sequences for the function and cursor keys, two additional keymaps have been defined. The VT100 keymap provides default sequences for F1-F4, the cursor keys and the keypad. The VT220 emulation provides sequences for F1-F12, the cursor keys and the keypad. Both VT emulations now support both keypad and cursor key application mode.
Time Protocol Control
The Time client control enables the application to request the current time and date from a remote server. The values returned may either be expressed in local time (using the local host's timezone) or system time (also known as Universal Coordinated Time or Grenwich Mean Time). The control may also be used to synchronize the local host's system clock with the remote server.
Web Browser Control
This custom control allows the developer to access and render HTML documents on the World Wide Web. The control provides basic services such as establishing a connection, downloading a document to the local system, maintaining a local document cache and so on. With over 70 properties and more than 30 events, the Web Browser control provides complete flexibility in every aspect of web document access. The control supports HTTP/1.0 protocol, including the POST and PUT methods. In addition to this, the Web control provides the developer with the ability to render HTML documents automatically, or under their control. The Web component automatically loads the image viewer control. HTML rendering supports all 2.0 features as well as many of the HTML 3.0 features and Netscape extensions (and even a few of our own). This component can be used to build a Web browser into an application, or to provide local document control facilities for a company.
Whois Protocol Control
The Whois client control enables the application to request information from a server about a specific domain or user. This control would be most commonly used to query the Whois server at rs.internic.net to obtain information about a specific Internet domain name or an administrative contact at that domain.


Copyright © 1996-1999 Town Target Technology Limited, Catalyst Development Corporation. All Rights Reserved.
Last Updated: Monday, October 18, 1999