Windows 95/98

Windows Support Menu


Windows 9X Networking

Winsock 2.0

Windows Sockets Overview

Windows Sockets, or Winsock, is an open network API standard that was originally designed to provide consistent programming interface for TCP/IP on all versions of Microsoft Windows including:

  • Windows 98
  • Windows 95 (Windows Sockets 1.1)
  • Microsoft Windows NT®
  • Windows for Workgroups
  • Windows 3.x

Functions of Winsock 2

Winsock 2.0 provides all of the Winsock functionality provided in Windows 95, plus the following new features:

  1. Name resolution. The protocol-independent name resolution APIs allows client and server applications to resolve service and host names in a protocol-independent fashion.
  2. Concurrent access to multiple network transports. Unlike version 1.1, which focused entirely on TCP/IP, the new API is transport-independent.
  3. Support for Quality of Service (QoS). QoS allows an application to request a specified amount of bandwidth over a connection, thus ensuring a specified level of service over the connection.
  4. Multipoint/multicast. Also new in version 2 is protocol-independent multipoint/multicast support. Applications can now use the multipoint communication method supported by a given protocol (e.g. IPX/SPX,) and join a multipoint group.

Winsock 2.0 Architecture

Winsock 2.0 provides an API interface to network applications similar to what was provided by the Winsock 1.1 support in Windows 95. Unlike Winsock 1.1, however, Winsock 2.0 exposes an interface between itself and protocols beneath it on the network stack. This interface is called the Service Provider Interface.

Winsock Service Provider Interface (SPI)

The Service Provider Interface is the layer between service providers and Winsock. Although the SPI is an open standard, currently, the only transport protocol included with Windows 98 that supports SPI is TCP/IP. As such, TCP/IP is currently the only protocol included with Windows 98 that supports Windows Sockets.

The name space SPI allows multiple name resolution services to be accessed through a uniform API. As vendors create service providers for DNS, Novell Directory Services, and X.500, all their name resolution capabilities will be accessible to Windows Sockets applications via the Winsock name space SPI.

Winsock 1.1 Backward Compatibility

To provide backward compatibility, the version 2 architecture includes 16-bit and 32-bit dynamic-link library (DLL) implementations of Windows Sockets version 1.1

Winsock 2 Support Issues

Uninstalling Winsock 2 and reinstalling Winsock 1.1

If Windows 98 is installed over Windows 95, all Winsock 1.1 components are backed up. In the event that you experience interoperability problems with Winsock 2, and are unable to workaround the problem. Winsock 2 can be uninstalled to return your machine to the pre-existing Winsock 1.1 configuration. Uninstall is performed by opening the Add/Remove Programs applet in the Control Panel and selecting "Restore Winsock 1.X Configuration", then clicking "Yes" when prompted.

Note: After you go back to Winsock 1.1 you can return to Winsock 2 by removing TCP/IP from Network Properties in Control Panel. This also places Restore Winsock 1.X Configuration back into Add/Remove programs in Control Panel.

Applications known to fail with Winsock 2

Winsock 2 installation breaks applications and network stacks that replace the Microsoft Windows 95 version of Winsock.dll or wsock32.dll. In an effort to minimize the impact of this issue, Winsock 2 will not be installed as part of Windows 98 installation if any of the following are detected:

  • Cisco/TGV -TCP/IP Suite 100
  • Novell -NetWare Gateway
  • WRQ -Reflections
  • NetManage -Chameleon 5.01 and 6.01
  • Microsoft Proxy -Winsock Proxy Client
  • FTP Software -All Win95 TCP/IP related products

Microsoft is working with all of these vendors to ensure that all of these applications will work with Winsock 2 in the near future. Please do not file bugs against the applications mentioned above in this round of beta testing.

Winsock 1.1 functionality not supported by Winsock 2

16-bit Winsock 1.1 applications that share socket handles do not work. (This includes Microsoft Proxy’s 16 bit Winsock Proxy Client)