What is Winsock?
Winsock is short for Windows Sockets API or WSA and it refers to a specification that helps a Windows-based networking program application to access and interact with TCP/IP and other networking protocols. It is called “Winsock” because the specifications involved are based or derived from BSD Sockets (Berkeley sockets).
This API (application programming interface) from Windows was said to be proposed back in 1991 by Martin Hall who was part of JSB Software. He also co-authored the initial specifications of the Winsock API along with Mark Towfiq, Geoff Arnold, J Allard, and Henry Sanders who were part of the biggest computer software companies like Microsoft and Sun Microsystems among others. In this initial version called Version 1.0 and released in 1992, the basic operation of Winsock API was defined. The interface involved closely resembles that of the Berkeley sockets and support is mostly for TCP and IP-based networks. Version 1 also allows for notifications in the form of window messages. This means that the program in use will be able to process issues on the user interface or the network itself. Background processing can also be done with no concurrency issues and concerns.
Version 2 of Winsock meanwhile featured an API and an SPI. The API or application programming interface provides shielding of underlying layers from computer administrators and developers. SPI stands for service provider interface and is involved with Winsock stacking through transparent extensions. Winsock 2 also supports name resolution concerns especially those that are said to be protocol-independent. And other than the basic TCP/IP networking setup, this version is able to fully support DECnet and IPX/SPX protocols. From its first public release in 1996, Winsock 2 underwent some revisions and minor enhancements on functionality. One important addition is in the querying and notifications setup involving a particular network. A new mechanism is made to inform users/administrators of changes done in the network.