| |
The SocketTools libraries can be used in a wide variety of
programming languages, including Visual C++, Visual C#, Visual
Basic.NET and Visual Basic 6.0, as well as C++ Builder, Delphi,
Clarion and a variety of other development environments. Any
language which is capable of calling functions exported from a
Windows dynamic link library can take advantage of the SocketTools
Library Edition.
Features of the SocketTools Library Edition include:
- An efficient architecture designed to reduce the overhead of
using other types of components such as ActiveX controls. The
libraries in the SocketTools Library Edition are not COM libraries,
but rather standard Windows dynamic link libraries which have been
optimized for high performance and low resource utilization on the
Windows platform.
- There are no external dependencies on third party libraries or
components, and each DLL is completely self-contained. We do not
require that you redistribute large shared libraries like the
Microsoft Foundation Classes or Visual C++ runtime libraries. Not
only does this make redistribution of your software easier, it can
reduce the overall footprint for applications which do not need to
use these libraries themselves.
- An interface which is designed for broad-based compatibility
with a variety of programming languages, not just for C or C++
programmers. You won't see functions that only provide complex
interfaces, using data types or structures which are difficult or
impossible to represent in other programming languages. Following
the model of the Windows API, the functions use handles (integer
values) to reference client sessions and most data types used as
function parameters are null-terminated strings, integers or byte
arrays. In those cases where structures are used, they are designed
to be compatible with most languages. Simply put, if your
programming language can call functions in the Windows API, you can
use the SocketTools Library Edition.
- A comprehensive design which supports both high-level
operations as well as lower-level functions at the protocol level.
For example, the File Transfer Protocol library has functions such
as FtpPutFile and FtpGetFile which allow an
application to easily upload and download files in a single
function call. It also includes lower-level functions like
FtpOpenFile to open a file on the server and access it in a
fashion similar to traditional file I/O operations.
- Support for both synchronous (blocking) and asynchronous
(non-blocking) operation depending on the needs of the application.
Asynchronous operation is supported by an event-driven model where
the application is notified of networking events by user-defined
messages posted to the message queue. Event notification can be
enabled, disabled, suspended and resumed completely under the
control of the application, giving developers complete freedom in
controlling their behavior of their software. Synchronous operation
is also fully supported, enabling developers to easily write
programs in "top down" programming style without the inherent
complexity of an event-driven model.
- Support for function callbacks during high-level synchronous
operations, such as downloading a file or sending an e-mail
message. This allows an application to make changes to its user
interface, such as updating a progress bar. This enables the
developer to take advantage of the simplicity of using high-level
functions without sacrificing the flexibility or features expected
by the user.
- The Secure Library Edition enables applications to take
advantage of complex security features, such as support for the
Secure Sockets Layer (SSL) and Transport Layer Security (TLS)
standards and up to 256-bit encryption without requiring any
knowledge of data encryption or certificate validation. The
libraries use the Windows CryptoAPI to provide security services,
which means that there are no third-party security libraries that
must be installed by your users. Taking advantage of the security
features in the SocketTools Library Edition is as simple as setting
a few options when connecting to the server. The protocol
negotiation, data encryption and decryption is handled
transparently by the library. From the perspective of the
application developer, it is just as if it were a standard
connection to the server.
- Libraries which are thread-safe and optimized for applications
which use multiple threads. The SocketTools libraries fully support
multithreaded applications and implement an internal architecture
that insures that client sessions can be safely created and used by
multiple threads. Applications can create worker threads and pass
client handles to those threads to perform some function and then
return the handle back to the original owner or simply terminate
the connection.
The SocketTools Library Edition includes everything professional
software developers need to create complex programs that take
advantage of the standard Internet protocols, enabling developers
to focus on their core application technology rather than the
details of how to upload a file or retrieve an e-mail message from
a server.
|
|