|
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 a
procedural "top down" programming style without using an
event-driven approach.
- Support for function callbacks during high-level synchronous
operations, such as downloading a file or sending an email 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 Library Edition enables applications to take advantage
of security features, such as support for the transport Layer Security (TLS)
protocol and 256-bit encryption. The libraries use the Windows
CryptoAPI to provide security services, which means 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 API options before
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 email message from a server.
|
|