Windows Sockets API  
 

The Windows Sockets specification was created by a group of companies, including Microsoft, in an effort to standardize the TCP/IP suite of protocols under Windows. Prior to Windows Sockets, each vendor developed their own proprietary libraries, and although they all had similar functionality, the differences were significant enough to cause problems for the software developers that used them. The biggest limitation was that, upon choosing to develop against a specific vendor's library, the developer was "locked" into that particular implementation. A program written against one vendor's product would not work with another's. Windows Sockets was offered as a solution, leaving developers and their end-users free to choose any vendor's implementation with the assurance that the product will continue to work.

There are two general approaches that you can take when creating a program that uses the Windows Sockets API to exchange information over the Internet or a local intranet. One is to code directly against the API which requires an in-depth understanding of the sockets interface and the application protocol being used. The other approach is to use a component which provides a higher-level interface that implements the various protocols by setting properties, calling methods and responding to events. This can provide a more natural programming interface for many languages, and it allows you to avoid many of the complex issues associated with network programming. By simply including the control in a project, setting some properties and responding to events, you can quickly and easily write an Internet-enabled application. And because of the design of the SocketTools components in general, the learning curve is low and experimentation is easy.