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 SSL |
Vendor: |
RSA Security |
Provides: |
SSL/TLS (and encryption in general) |
Platform(s): |
Win32, Unix, Linux, QNX, VxWorks |
Library type: |
C and Java libraries |
Price: |
Negotiated |
Licensing: |
Commercial, royalty-based |
Package: |
DXSock |
Vendor: |
Brain Patchwork DX, LLC. |
Provides: |
30 Internet protocols, plus additional utility functionality |
Platform(s): |
ALL |
Library type: |
Native versions for Delphi, C++ Builder, JBuilder, Kylix, Visual C++, and Java |
Price: |
$400 for a no-source package, $800 for source code. (Java and VC++ versions require that you buy a source license) |
Licensing: |
Commercial, royalty-free |
Package: |
e-Border SDK |
Vendor: |
NEC |
Provides: |
SOCKSv5 protocol support |
Platform(s): |
Win32, Unix |
Library type: |
C library |
Price: |
Negotiated |
Licensing: |
Commercial, royalty basis (?) |
Package: |
Internet Framework Tools |
Vendor: |
Logic*Central |
Provides: |
HTTP client and server components |
Platform(s): |
Win32 |
Library type: |
Clarion library |
Price: |
$99 for HTTP Server, $89 for HTTP Client |
Licensing: |
Royalty-free |
Commentary: |
The Internet Framework Tools let you build web-based client and server
applications with the Clarion language.
|
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: |
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: |
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: |
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 |
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: |
SourcePro Net |
Vendor: |
Rogue Wave Software |
Provides: |
CORBA, FTP, HTTP, POP and SMTP |
Platform(s): |
Win32, Unix, Red Hat Linux, AS/400, OS/390 |
Library type: |
C++ class library |
Price: |
Contact the company for a quote (FWIW, it was $1795 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: |
SSL Plus |
Vendor: |
Certicom |
Provides: |
SSL/TLS (encrypted sockets) |
Platform(s): |
Win32, Unix, Linux, MacOS, VxWorks |
Library type: |
C and Java libraries |
Price: |
Negotiated |
Licensing: |
Commercial, royalty-based |
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: |
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: |
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: |
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: |
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.
|
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: |
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: |
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: |
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 |
Package: |
IaLib |
Author: |
Chris Richardson |
Provides: |
HTTP, FTP, Gopher |
Platform(s): |
Win32 |
Library type: |
C++ class library |
Licensing: |
Freeware |
Package: |
Indy |
Vendor: |
The Indy Dev Team |
Provides: |
HTTP, MIME, NNTP, POP, SMTP |
Platform(s): |
Win32 |
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): |
Win16, Win32 |
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): |
Win32 |
Library type: |
C++ class library |
Licensing: |
Open Source |
Commentary: |
This library features a broad array of raw sockets mechanisms. This is
hacking/security-grade code, suitable for crafting specialized packets,
network sniffing, etc. It also has code for writing high-level TCP and
UDP/IP programs.
|
Package: |
LibnetNT |
Vendor: |
eEye |
Provides: |
Low-level network I/O |
Platform(s): |
Windows NT 4.0 and up |
Library type: |
Win32 DLL |
Licensing: |
Open Source |
Commentary: |
This is an NT port of the libnet Unix library for low-level network I/O:
crafting special packets, sniffing, etc.
|
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: |
OpenSSL |
Author: |
OpenSSL Development Team |
Provides: |
SSL/TLS (encrypted sockets), certificates, etc. |
Platform(s): |
Win32, 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 |
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: |
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: |
Socket++ |
Author: |
Gnanasekaran Swaminathan and Dr. Greg Lavender |
Provides: |
A C++ wrapper for BSD sockets |
Platform(s): |
Win32, Linux, Unix |
Library type: |
C++ class library |
Licensing: |
Open Source |
Package: |
Tcp4u, Ftp4w |
Author: |
Philippe Jounin |
Provides: |
FTP, HTTP, SMTP |
Platform(s): |
Win16, Win32, 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): |
Win16, Win32 |
Library type: |
C++ class library |
Licensing: |
Freeware |
Commentary: |
The components are in the "Network Freeware" section.
|
|