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: |
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): |
Win16, Win32 |
Library type: |
ActiveX, DLL and VBX versions |
Price: |
$249 |
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: |
PowerTCP |
Vendor: |
Dart Communications |
Provides: |
Finger, FTP, HTTP, IMAP, MIME, POP, RAS, rexec, rlogin, rsh, SMTP, SNMP, SSL/TLS, telnet, time, TFTP, VT-52 through VT-320 and whois |
Platform(s): |
Win16, Win32 |
Library type: |
C/C++ (static and DLL), Delphi component, ActiveX, VBX, PowerBuilder |
Price: |
$200-600 for the base package, $200-1000 per additional component |
Licensing: |
Varies depending on the type of application. |
Commentary: |
Many of the items in the "Provides" section above are sold separately
from the base PowerTCP package. The base package includes "control"-type
libraries. For C++ class libraries and 16-bit components, you must get
the "Pro" version of the base package.
|
Package: |
IP*Works! |
Vendor: |
devSoft |
Provides: |
Base package: FTP, raw HTTP, raw ICMP, IMAP, LDAP, NNTP, POP, RAS, rexec, rsh, SMTP, SNPP, SNTP and telnet PlusPack: finger, HTTP support controls, time, ping, rcp, TFTP, traceroute, and whois Commerce Kit: FTP, HTTP, HTTPS, XML |
Platform(s): |
Win16, Win32 |
Library type: |
C++, VBX, ActiveX, Java, Delphi and C++Builder |
Price: |
$245-495 depending on the edition, $245 for Commerce Kit |
Licensing: |
Royalty-free |
Commentary: |
The library also provides uuencode, Base64 and Quoted Printable binary
encoding handling, and mail server address lookup (MX DNS records).
The PlusPack is free, but only works with the Visual Basic
editions.
Windows CE versions of the base library are available.
The Commerce Kit apparently does not depend on IP*Works!.
|
Package: |
Visual Internet Toolkit |
Vendor: |
Distinct |
Provides: |
Base package: finger, FTP (client and server), HTTP, HTTPS, IMAP, LPR, MIME, NNTP, ping, POP, RAS, rcp, rexec, rlogin, rsh, SLIP and PPP, SOCKS, SMTP, SNMP, telnet, TFTP, VT-220, whois Available separately: ONC/RPC (includes XDR) |
Platform(s): |
Win16, Win32 |
Library type: |
ActiveX, DLL and VBX |
Price: |
approx. $400 for the main kit, $600 for the RPC kit |
Licensing: |
Royalty-free? |
Commentary: |
The ActiveX and 32-bit DLL versions are sold together. VBX and 16-bit
DLL versions are sold as separate packages.
The package also includes uuencoding/uudecoding support, a license
manager, and a network sniffer.
The license manager allows for trialware and "number of running copies"
types of licensing.
The sniffer apparently only works for programs built with the
library.
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.
|
Package: |
Ultimate TCP/IP |
Vendor: |
Dundas Software |
Provides: |
DNS, FTP, finger, HTTP, IMAP, MIME, NNTP, ping, POP, SMTP, traceroute |
Platform(s): |
Win32 only |
Library type: |
C++ class library, ActiveX |
Price: |
$300 for the ActiveX components, $700 for the C++ version |
Licensing: |
Royalty-free? |
Commentary: |
The C++ version inclues the ActiveX components and full source code.
|
Package: |
Tools.h++ Professional |
Vendor: |
Rogue Wave Software |
Provides: |
CORBA, FTP, HTTP, POP and SMTP |
Platform(s): |
Win32, Unix, Linux |
Library type: |
C++ class library |
Price: |
$1795 per platform, $3590 for all platforms |
Licensing: |
Royalty-free? |
Commentary: |
This package includes all the functionality in Rogue Wave's
Tools.h++.
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: |
WinDis32, etc. |
Vendor: |
PCAUSA |
Provides: |
various packages for low-level network access (TDI and NDIS layers) |
Platform(s): |
Windows 9x and Windows NT/2000 |
Library type: |
C library |
Price: |
$500 for the basic library, $250-1000 for various add-ons and sample kits |
Licensing: |
Royalty-free |
Package: |
ToolMate |
Vendor: |
MicroMate Systems International |
Provides: |
Basic network I/O |
Platform(s): |
Win32 only |
Library type: |
C library |
Price: |
$20 |
Licensing: |
Royalty-free? |
Commentary: |
This is a basic Winsock abstraction library, focusing on ease-of-use
and efficiency.
|
Package: |
Xceed Winsock Library |
Vendor: |
Xceed |
Provides: |
Complete Winsock 2 COM wrapper |
Platform(s): |
Win32 only |
Library type: |
COM components |
Price: |
$300 |
Licensing: |
Royalty-free |
Commentary: |
This is, at base, a basic network I/O library with a few distinguishing
features. It's a COM component that seems truly targeted at language
independence and a broad range of product types. By contrast,
other COM network I/O libraries focus on trivializing Winsock for
lash-it-together-quickly Visual Basic projects.
The library makes real efforts to be scalable: for example, it provides
transparent overlapped I/O support. It's the sort of library that you
design a program around, knowing that it will scale if the project needs
to go beyond simple network I/O.
Obviously it's no replacement for direct Winsock I/O for those projects
that have truly tight space and speed requirements (high-load web servers,
for example), but it might be a good choice if you need something better
than the truly basic network I/O components out there.
Caveat: I've never tried the library; this is just my distilled
impression from reading their web pages and such.
|
Package: |
SECUDE SDK |
Vendor: |
SECUDE |
Provides: |
Broad array of cryptography, including SSL, certificates, S/MIME, etc. |
Platform(s): |
Win32, Unix, OS/2, MacOS, AS/400 |
Library type: |
C library |
Price: |
Negotiated |
Licensing: |
Commercial, royalty basis |
Shareware and Freeware Products:
Package: |
ACE |
Author: |
Douglas Schmidt, et al. |
Provides: |
Advanced network I/O, CORBA ORB, extensible web server |
Platform(s): |
Win32, 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: |
mime++ |
Author: |
Douglas W. Sauder |
Provides: |
MIME message formatting for NNTP, POP, and SMTP |
Platform(s): |
Win32, Unix |
Library type: |
C++ class library |
Licensing: |
Free for non-commercial use |
Package: |
WinShoes |
Author: |
Chad Z. Hower and the Winshoes Working Group |
Provides: |
HTTP, MIME, NNTP, POP, SMTP |
Platform(s): |
Win32 |
Library type: |
Delphi/C++Builder components |
Licensing: |
Open Source |
Package: |
IaLib |
Author: |
Chris Richardson |
Provides: |
HTTP, FTP, Gopher |
Platform(s): |
Win32 |
Library type: |
C++ class library |
Licensing: |
Freeware |
Package: |
Tcp4u, Ftp4w |
Author: |
Philippe Jounin |
Provides: |
FTP, HTTP, SMTP |
Platform(s): |
Win16, Win32, Unix |
Library type: |
C library |
Licensing: |
LGPL |
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): |
Win16, Win32 |
Library type: |
Delphi and C++Builder library |
Licensing: |
Postcard-ware |
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): |
Win16, Win32 |
Library type: |
Delphi and C++Builder library |
Licensing: |
GPL |
Package: |
SocketWrench |
Vendor: |
Catalyst Development |
Provides: |
Basic network I/O, RAS |
Platform(s): |
Win16, Win32 |
Library type: |
ActiveX, VBX |
Licensing: |
Freeware |
Commentary: |
This product is a free subset of Catalyst's SocketTools package, linked above.
|
Package: |
Winsock Resolver |
Author: |
Wayne Hoxsie |
Provides: |
Lookup mechanisms for A, MX and NS records in DNS |
Platform(s): |
Win32 |
Library type: |
C library |
Licensing: |
Freeware. |
Package: |
adns |
Author: |
Ian Jackson, Tony Finch and Jarle Aasa |
Provides: |
Advanced DNS lookups |
Platform(s): |
Win32, 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: |
Standard Function Library |
Vendor: |
iMatix |
Provides: |
Basic network I/O, MIME, CGI and SMTP |
Platform(s): |
Win16, Win32, 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: |
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): |
Win16, Win32 |
Library type: |
C++ class library |
Licensing: |
Freeware |
Commentary: |
The components are in the "Network Freeware" section.
|
Package: |
Endpoint |
Author: |
Warren Young |
Provides: |
Basic network I/O |
Platform(s): |
Win16, Win32 |
Library type: |
C++ class library for MFC and OWL |
Licensing: |
BSD-style |
|