Many vendors and shareware authors are releasing Winsock-compatible
libraries that implement various Internet protocols like FTP and
HTTP. The list below points to as many as I could easily find.
Commercial Products:
Package: |
BSAFE |
Vendor: |
RSA Security |
Provides: |
Encryption, including SSL/TLS |
Platform(s): |
Windows, Unix, Linux, z/OS, OS/400 |
Library type: |
C/C++ and Java libraries |
Price: |
Negotiated |
Licensing: |
Commercial, royalty-based |
Package: |
IP*Works! |
Vendor: |
/n Software |
Provides: |
Base package: FTP, HTTP, SMTP, POP, IMAP, LDAP, DNS, RSS, SMS, Jabber, SOAP, WebDav, RAS, XML, more Add-ons: SSL, S/MIME, SSH, Zip, S/SNMP, EDI/AS2 |
Platform(s): |
Windows |
Library type: |
C++ (Windows, Unix, Linux), .NET, Java, ActiveX/COM, Delphi, C++ Builder, Mac OS X/iPhone, PHP |
Price: |
$299-599 depending on the edition |
Licensing: |
Royalty-free |
Commentary: |
The base library provides many utility mechanisms like Base64 encoding,
mail server DNS (MX) lookup, etc. The add-on packages require the base
IP*Works package.
|
Package: |
MIME++, Mail++ |
Vendor: |
Hunny Software |
Provides: |
MIME++: MIME message formatting for NNTP, POP, and SMTP Mail++: Protocol support for SMTP, POP3, IMAPv4, NNTP, SSL/TLS |
Platform(s): |
“virtually every C++ compiler system” |
Library type: |
C++ class library |
Price: |
$350 per developer seat, per product, plus redistribution license fee |
Licensing: |
Commercial |
Package: |
PowerTCP |
Vendor: |
Dart Communications |
Provides: |
FTP, TFTP, Telnet, VT320 emulation, SMTP, POP3, HTTP, SNMP, UDP, Time, REXEC, RSHELL, RLOGIN, WHOIS |
Platform(s): |
Windows |
Library type: |
C/C++ (static and DLL), Delphi component, ActiveX, VBX, PowerBuilder |
Price: |
Negotiated |
Licensing: |
Varies depending on the type of application. |
Package: |
SocketTools |
Vendor: |
Catalyst Development |
Provides: |
DNS, finger, gopher, HTTP, FTP, MIME, NNTP, ping, POP, RAS, rexec, rlogin, rsh, SMTP, telnet, time and whois |
Platform(s): |
Windows |
Library type: |
DLL, ActiveX, VBX, and .NET versions |
Price: |
$195-695 per component |
Licensing: |
Royalty-free |
Commentary: |
The telnet piece includes VT100 and ANSI terminal emulation. The
package also includes components for building a simple browser, such as
an HTML display component and image and audio components.
|
Package: |
Rawether, etc. |
Vendor: |
PCAUSA |
Provides: |
low-level network access (TDI and NDIS layers) |
Platform(s): |
Windows 2000 and newer NT derivatives |
Library type: |
C library |
Price: |
$495 for the basic library, $2,100 for a complete product bundle, with options in-between |
Licensing: |
Royalty-free |
Package: |
SourcePro NET |
Vendor: |
Rogue Wave Software |
Provides: |
FTP, HTTP, MIME, POP, SMTP, SSL/TLS |
Platform(s): |
Windows, Red Hat Enterprise Linux, SuSE Enterprise Linux, Solaris, HP-UX, AIX |
Library type: |
C++ class library |
Price: |
Contact the company for a quote (FWIW, it was $1,795 per platform last I checked) |
Licensing: |
Royalty-free? |
Commentary: |
This package is built on Rogue Wave's SourcePro C++
library, so you buy that package and add SourcePro Net to it.
This package's specialty is cross-platform networking. It includes
both functionality to ease communication between disparate platforms,
and abstraction layers that allow your program to build on various
platforms.
|
Package: |
Visual Internet Toolkit |
Vendor: |
Distinct |
Provides: |
Base package: Finger, FTP (client and server), ICMP, IMAP, LPR, MIME, NNTP, POP, RAS, rcp, rexec, rlogin, rsh, SOCKS, SMTP, Telnet, TFTP, UUEncode, VT-220, whois
Available separately: ONC/RPC (includes XDR) |
Platform(s): |
Windows |
Library type: |
ActiveX/COM and C/C++ DLL |
Price: |
$595 for the main kit, $995 for the RPC kit |
Licensing: |
Commercial, run-time licenses required per distributed copy |
Commentary: |
The included license manager allows for trialware and “number
of running copies” types of licensing.
The ONC/RPC kit appears not to be dependent on the base package,
but it is clear that it does not include all of the functionality of
the base package. That is, basic networking is available in the RPC
package, but not, for example, MIME support. The RPC kit does include
the network sniffer and the license manager.
|
Shareware and Freeware Products:
Package: |
ACE, TAO, JAWS |
Author: |
Douglas Schmidt, et al. |
Provides: |
Advanced network I/O, CORBA ORB, extensible web server |
Platform(s): |
Windows, virtually all Unixes, various RTOSes |
Library type: |
C++ class library |
Licensing: |
Freeware (details here), with commercial support available. |
Commentary: |
ACE is the Adaptive Communication Environment, the core component
of Dr. Schmidt’s offerings. It started as part of his PhD work,
and he’s been more interested in publishing papers on it than
making money from it. It’s a very extensive library: hundreds
of thousands of lines of code.
There’s quite a lot of documentation for it, but sadly nothing
on the order of a good user manual. There’s a tutorial that
will get you started, but no reference material to speak of, and the
tutorial does not go very deeply into the system. Dr. Schmidt offers
all the papers he’s published on various aspects of ACE and
the related projects, but these are mainly about design elements,
rather than teaching one how to use the library.
In summary, the liberal license, the large user community, and the
scope of the library demands that you at least take a look at it. The
documentation issue means that you’ll spend more time reading
ACE examples and ACE source code rather than the ACE tutorial and
papers, but the learning curve isn’t vertical.
Two related components are worth noting: The ACE ORB (TAO) and the
JAWS Adaptive Web Server. These are both built on ACE, and are useful
items in their own right.
|
Package: |
adns |
Author: |
Ian Jackson, Tony Finch and Jarle Aasa |
Provides: |
Advanced DNS lookups |
Platform(s): |
Windows, Unix |
Library type: |
C library |
Licensing: |
GPL |
Commentary: |
This library allows you to look up all kinds of DNS records (as
opposed to just the A and PTR records Winsock gives you direct
access to). It’s also useful because it allows asynchronous
lookups. Winsock has asynchronous DNS lookup functions, but
they require window messages to work and they’re somewhat
limited.
Beware that this is under the GPL license, which means that if you use
this library, your program will have to be released under the GPL
license as well.
|
Package: |
dWinsock |
Author: |
Ulf Söderberg, Marc Palmer and Keith Hawes |
Provides: |
Basic network I/O, plus experimental HTTP, MIME, POP, SMTP and uuencode/uudecode code |
Platform(s): |
Windows |
Library type: |
Delphi and C++Builder library |
Licensing: |
GPL |
Package: |
Endpoint |
Author: |
Warren Young |
Provides: |
Basic network I/O |
Platform(s): |
Windows |
Library type: |
C++ class library for MFC and OWL |
Licensing: |
BSD-style |
Package: |
Indy.Sockets |
Vendor: |
The Indy Project |
Provides: |
HTTP, MIME, NNTP, POP, SMTP |
Platform(s): |
Windows |
Library type: |
Delphi/C++Builder components |
Licensing: |
Open Source |
Commentary: |
This open-source networking effort is now included with Borland’s
Delphi 6 and Kylix products. Development continues independently,
however, so you may want to visit this site to get updated versions of
your Borland tool’s networking components. Or, if you’re
using C++Builder, you’ll want to get these now instead of
waiting for the next release to include them.
|
Package: |
Internet Component Suite |
Author: |
François Piette |
Provides: |
DNS, finger, FTP, HTTP, MIME decode, NNTP, ping, POP, RAS, SMTP, telnet (client and server) |
Platform(s): |
Windows |
Library type: |
Delphi and C++Builder library |
Licensing: |
Postcard-ware |
Package: |
Komodia TCP/IP Library |
Vendor: |
Komodia |
Provides: |
Basic high- and low-level network I/O class library |
Platform(s): |
Windows |
Library type: |
C++ class library |
Licensing: |
Open Source (Commercial variants available) |
Commentary: |
This library features a broad array of raw sockets mechanisms. The
open source libraries are hacking/security-grade code, suitable
for crafting specialized packets, network sniffing, etc. They offer
commercial-grade code as well.
|
Package: |
OpenSSL |
Author: |
OpenSSL Development Team |
Provides: |
SSL/TLS (encrypted sockets), certificates, etc. |
Platform(s): |
Windows, Unix |
Library type: |
C library |
Licensing: |
Apache-style (Open source) |
Commentary: |
Based on the old SSLeay code, this library has been polished and
hardened for use by the OpenSSH secure shell project. It is a completely
separate effort, however, so you can use it in your own programs.
|
Package: |
SocketWrench Freeware Edition |
Vendor: |
Catalyst Development |
Provides: |
Basic network I/O, RAS |
Platform(s): |
Windows |
Library type: |
ActiveX |
Licensing: |
Freeware |
Commentary: |
This product is a free subset of Catalyst’s SocketTools package, linked above.
|
Package: |
Standard Function Library |
Vendor: |
iMatix |
Provides: |
Basic network I/O, MIME, CGI and SMTP |
Platform(s): |
Windows, Linux, Unix, OpenVMS, DOS, OS/2 |
Library type: |
C library |
Licensing: |
Open Source |
Commentary: |
The library also includes functionality similar to XDR, which lets you
portably send non-integral values across the network.
SFL is a largish foundation library with many other things besides
networking stuff.
|
Package: |
Socket++ |
Author: |
Gnanasekaran Swaminathan and Dr. Greg Lavender |
Provides: |
A C++ wrapper for BSD sockets |
Platform(s): |
Windows, Linux, Unix |
Library type: |
C++ class library |
Licensing: |
Open Source |
Package: |
Tcp4u |
Author: |
Philippe Jounin |
Provides: |
HTTP, SMTP, TCP and UDP |
Platform(s): |
Windows, Unix |
Library type: |
C library |
Licensing: |
LGPL |
Package: |
Various MFC classes |
Author: |
P.J. Naughter |
Provides: |
finger, FTP, HTTP, IP address enumeration, various types of IPC, MAPI, ping, POP, RAS, SMTP and SNTP |
Platform(s): |
Windows |
Library type: |
C++ class library |
Licensing: |
Freeware |
Commentary: |
The components are in the "Network Freeware" section.
|