Winsock

Without a single standard programming model, it was difficult to persuade independent software developers to create networking applications which would work with any vendor's underlying TCP/IP implementation.

The Windows Sockets project had its origins in a Birds of a Feather session held at Interop '91 in San Jose on October 10, 1991.

[citation needed] There was some discussion about how best to address the copyright, intellectual property, and potential anti-trust issues, and consideration was given to working through the IETF or establishing a non-profit foundation.

All the participating developers resisted the shortening of the name to simple Winsock for a long time,[citation needed] since there was much confusion among users between the API and the DLL library file (winsock.dll) which only exposed the common WSA interfaces to applications above it.

Users would commonly believe that only making sure the DLL file was present on a system would provide full TCP/IP protocol support.

Although these contracts were important when Windows Sockets was first released, since network environments required multi-protocol support (see above) they are now of only academic interest.

Included in the Windows Sockets API version 2.0 are functions to use IPX/SPX, although the protocol was all but obsolete already at the time WSA 2.0 shipped.

All function calls in the API begin with the moniker WSA, e.g. WSASend() for sending data on a connected socket.