This article is from the FAQ, by with numerous contributions by others.
WinSock is a .DLL (Dynamic Link Library) and runs under Windows 3.x,
Windows for Workgroups, Windows NT, and Windows 95. The WINSOCK.DLL is
the interface to TCP/IP and, from there, on out to the Internet.
(TCP/IP stands for "Transmission Control Protocol / Internet
Protocol," the "language" that computers on the Internet use to
communicate with each other.)
The easiest way to show how it works is with a diagram:
WinSock-compliant Application (e.g., Netscape, WinVN)
Modem or Network card
Network and beyond
WINSOCK.DLL actually acts as a "layer" between your WinSock
applications and your TCP/IP stack. Your WinSock applications tell
WINSOCK.DLL what to do, WINSOCK.DLL translates these commands to your
TCP/IP stack, and your TCP/IP stack passes them on to the Internet!
But the most important thing for you to remember about WINSOCK.DLL is
that the WINSOCK.DLL you're using must match the version of TCP/IP
that you're running. Don't assume that because all WinSocks are called
WINSOCK.DLL that they're all the samethey're not. So, for example,
if I'm using Microsoft's TCP/IP, I can't use Trumpet Winsock.
Similarly, if I'm running on a SLIP connection, and I want to switch
from Chameleon Sampler's Winsock to Trumpet Winsock, I first need to
remove Chameleon's version of WINSOCK.DLL before installing the new
If you end up with multiple versions of WINSOCK.DLL floating around
your hard disk, you're asking for trouble. Before you come screaming
at alt.winsock, take a couple of minutes to check your hard disk for
For more information, see NCSA's winsock.dll page on the Web at: