The SocketTools .NET components can be used with any Visual
Studio .NET programming language. It is important to note that
SocketTools .NET requires the .NET Framework and cannot be used in
a non-managed development environment or with earlier versions of
Microsoft's programming tools such as Visual Basic 6.0 or Visual
C++ 6.0.
Features of the SocketTools .NET Edition include:
- The SocketTools classes provide a simple interface that is easy
to use and understand. There are no complicated methods or data
structures to use, and most methods are overloaded to provide
reasonable defaults appropriate for most applications. Most complex
operations can be performed with only a few lines of code.
- There are no external dependencies on third party libraries or
components. The SocketTools classes are managed code classes and
are not "wrappers" around ActiveX controls or COM libraries.
- The class interfaces were designed to be as similar as possible
to the COM version of the components, reducing the learning curve
for developers who are already familiar with SocketTools and
reducing the amount of time required to port an application to the
.NET platform.
- A comprehensive design which supports both high-level
operations as well as lower-level methods at the protocol level.
For example, the File Transfer Protocol component has methods such
as PutFile and GetFile which allow an application to easily upload
and download files in a single method call. It also includes
lower-level methods like OpenFile 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 events
generated by the component. Event notification can be enabled,
disabled 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 using
a procedural programming style without the inherent complexity of
an event-driven model.
- A thread-safe implementation that allows the classes to be
easily used in a multi-threaded application. SocketTools handles
any internal synchronization required, ensuring that multiple,
simultaneous operations can be performed safely and efficiently
without extensive coding on the part of the developer.
- The Secure .NET 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 components 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 .NET Edition is as simple as setting a few
properties before connecting to the server. The protocol
negotiation, data encryption and decryption is handled
transparently by the control. From the perspective of the
application developer, it is just as if it were a standard
connection to the server.
The SocketTools .NET Edition includes everything professional
software developers need to create complex programs, enabling
developers to focus on their core application technology rather
than the details of how a particular application protocol is
implemented or understanding the specifics of network
programming.