|
|
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 remote 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 128-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 Secure 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.
|
|