This article is from the FAQ, by with numerous contributions by others.
WinSock is short for Windows Sockets, and is used as the interface
between TCP/IP (Transmission Control Protocol/Internet Protocol), and
Windows. TCP/IP has been called "the language of the Internet" and
rightly somost of the Internet is comprised of systems that use TCP/IP
to talk to one another.
The WinSock specification was born at one of the "Birds of a Feather"
sessions at the Interop conference in Fall of 1991. The current
version of the specification is 1.1, but work continues on the WinSock
2.0 specification, which is scheduled for completion mid-1995.
A) Berkeley Sockets
Berkeley Sockets is the standard programming model for TCP/IP
networking under Unix. Windows Sockets was designed to be very
similar to Berkeley Sockets so that those experienced in programming
with sockets in Unix will be able to easily make the transition to
Windows Sockets. However, there are a few deviations in the WinSock
standard that take advantage of Windows-specific features not
supported in Unix. For more information, see the following: