FACTOID # 5: Minnesota and Connecticut are both in the top 5 in saving money and total tax burden per capita.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
RELATED ARTICLES
People who viewed "Winsock" also viewed:
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Winsock
Windows Sockets API version 2.0 logo
Windows Sockets API version 2.0 logo

In computing, the Windows Sockets API which was later shortened to Winsock (although all the participating developers resisted this shortening for a long time, 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) is a specification that defines how Windows network software should access network services, especially TCP/IP. It must be considered one of the most important building-blocks in the Windows family of operating systems, since without it, Windows would not offer easy and transparent access to Internet-enabled applications, such as the one used for viewing this page - the web browser (Internet Explorer, Mozilla Firefox, Netscape, Opera, etc.) Regardless of which product the user prefers, it will still work with Windows Sockets, which exemplifies the transparency and compatibility work that was the goal in the development of the Windows Sockets API. Image File history File links Size of this preview: 230 × 281 pixelsFull resolution (230 × 281 pixel, file size: 15 KB, MIME type: image/png) Logo for Winsock 2. ... Image File history File links Size of this preview: 230 × 281 pixelsFull resolution (230 × 281 pixel, file size: 15 KB, MIME type: image/png) Logo for Winsock 2. ... A BlueGene supercomputer cabinet. ... Microsoft Windows is the name of several families of proprietary software operating systems by Microsoft. ... This article or section is in need of attention from an expert on the subject. ... Software, consisting of programs, enables a computer to perform specific tasks, as opposed to the physical components of the system (hardware). ... It has been suggested that this article or section be merged with communications protocol. ... The Internet protocol suite is the set of communications protocols that implement the protocol stack on which the Internet runs. ...

Contents

Background

Early Microsoft operating systems, both MS-DOS and Windows, offered limited networking capability, chiefly based on NetBEUI (Netbios Enhanced User Interface - a monolithic, non-routable, protocol stack exposing a NetBIOS API at the upper-level of the stack. This technology was the Microsoft implementation of IBM NetBIOS). In particular, Microsoft completely ignored the TCP/IP protocol stack at that time. A number of university groups and commercial vendors, including the PC/IP group at MIT, FTP Software, Sun Microsystems, Ungermann-Bass, and Excelan, introduced TCP/IP products for MS-DOS, often as part of a hardware/software bundle. When Microsoft Windows was released, these vendors were joined by others such as Distinct and NetManage in offering TCP/IP for Windows. Even Microsoft offered a limited-function product. Microsofts disk operating system, MS-DOS, was Microsofts implementation of DOS, which was the first popular operating system for the IBM PC, and until recently, was widely used on the PC compatible platform. ... Microsoft Windows is the name of several families of proprietary software operating systems by Microsoft. ... NetBIOS Extended User Interface (NetBEUI, pronounced net-booey, also known as NetBIOS Frame, or NBF) is an unrouted (non-routable) network- and transport-level data protocol most commonly used as one of the layers of Microsoft Windows networking. ... International Business Machines Corporation (known as IBM or Big Blue; NYSE: IBM) is a multinational computer technology corporation headquartered in Armonk, New York, USA. The company is one of the few information technology companies with a continuous history dating back to the 19th century. ... The Internet protocol suite is the set of communications protocols that implement the protocol stack on which the Internet runs. ... Mapúa Institute of Technology (MIT, MapúaTech or simply Mapúa) is a private, non-sectarian, Filipino tertiary institute located in Intramuros, Manila. ... FTP Software was a software company founded by James van Bokkelen, John Romkey (author of the MIT PC/IP package), Nancy Connor, Roxanne (nee Ritchie) Van Bokkelen, and Dave Bridgham. ... Sun Microsystems, Inc. ...


The drawback faced by all of these vendors was that each of them used their own API. Other issues included memory consumption in a world where 640kB was considered a lot of RAM, together with the fact that there was no support for running several protocols at once, i.e "multi-protocol" support. This last issue was the most annoying one, since most network environments in those days consisted of a number of systems from different vendors (e.g. Digital Equipment Corp. DECnet, Novell Netware, Banyan Vines, IBM Lan Manager,etc.) all using their own communications protocol (e.g. Novell's IPX/SPX, IBM NetBIOS, Microsoft NetBEUI, etc.). This meant that a user had to have several boot configurations and restart the machine, thus switching protocols, depending on the system to which access was required. Also, without a single standard programming model, it was difficult to persuade independent software developers to create networking applications which would work with any vendors underlying TCP/IP implementation. Add to this the fact that end users were wary of getting locked in to a single vendor and it becomes clear that some "standardisation" work was needed. A application programming interface (API) is the interface that a computer system, library or application provides in order to allow requests for services to be made of it by other computer programs, and/or to allow data to be exchanged between them. ... Novell, Inc. ... NetWare is a network operating system and the set of network protocols it uses to talk to client machines on the network. ...


There had been a number of successful standardization efforts in the PC networking area over the years. The first of these was a program sponsored by the US Air Force to develop RFC1001/1002, a NetBIOS implementation running over TCP/IP, or NBT for short. A second was the Crynwr packet driver effort initiated by FTP Software and led by Russ Nelson together with benevolent input and testing done by Ingemar Lampa, then working at the IT R&D department of the OECD (Organisation for Economic Co-operation and Development) headquarters in Paris. The Packet Drivers adressed the memory and multi-protocol problems outlined above, since they were written entirely in fast and efficient assembly language and did not exclusively "hook" the NIC (Network Interface Card) hardware interrupts. Equivalents to the Packet Drivers would be Novell ODI (Open Driver Interface) architecture and Microsoft NDIS (Network Driver Interface Specification) API. It is important to understand that the Packet Drivers were not a complete implementation of a protocol stack, including TCP/IP, rather they were vendor-specific NIC hardware drivers at the lower-level exposing a rudimentary programming API on the upper-level, enabling simple and efficient access to the underlying network media in a non-exlusive way. In fact, Russ Nelson also developed the first really useful application QVT (for DOS) and later WinQVT - a Digital Equipment VT220 Terminal Emulation. Both QVT/WinQVT included the TCP/IP stack in the application, instead of as a separate protocol stack. Together with the Packed Drivers it was possible to run, for example, Novell's IPX/SPX and have access to Netware File Servers, whilst simultaneously staying connected to DEC VMS Systems over TCP/IP. Exactly this type of environment was the driving-force behind this project, as it was the one in place at the OECD in Paris. Seal of the Air Force. ... Russ Nelson (born 1958) is a computer programmer, who is a founding board member of the Open Source Initiative. ... The Organization for Economic Co-operation and Development (OECD) is an international organization of those developed countries that accept the principles of representative democracy and a free market economy. ... ODI has various meanings, including: One-day International cricket match Open Data-Link Interface - an implementation of the OSI model data link layer. ... NDIS stands for Network Driver Interface Specification, and is an application programming interface (API) for network interface cards (NICs). ... API may refer to: In computing, application programming interface In petroleum industry, American Petroleum Institute In education, Academic Performance Index This page concerning a three-letter acronym or abbreviation is a disambiguation page — a navigational aid which lists other pages that might otherwise share the same title. ... The VT220 was a terminal produced by Digital Equipment Corporation from 1983 to 1987. ... IPX/SPX stands for Internetwork Packet Exchange/Sequenced Packet Exchange. ... NetWare is a network operating system and the set of network protocols it uses to talk to client machines on the network. ... VMS is a three-letter abbreviation with multiple meanings, as described below: Virtual Memory System (another name for OpenVMS), an operating system Variable message sign, an electronic traffic sign often used on highways Visual Memory System (better known as Visual Memory Unit), a storage device for the Sega Dreamcast console...


The Windows Sockets API was proposed by Martin Hall of JSB Software (later Stardust Technologies) as a BOF (Bird of a Feather) discussion on the CompuServe BBS network in October 1991. The first edition of the specification was authored by Martin Hall, Mark Towfiq of Microdyne (later Sun Microsystems), Geoff Arnold of Sun Microsystems, and Henry Sanders and J Allard of Microsoft, with assistance from many others. 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. In the end, it was decided that the specification would simply be copyrighted by the five authors as (unaffiliated) individuals. (J Allard was later granted a large corner office at the Microsoft "campus" in which he kept two live Iguanas, ACK and NACK, as they were aptly named). CompuServe, (in full, CompuServe Information Services, or CIS), was the first major commercial online service in the United States, dominating the field during the 1980s and remaining a major player through the mid-1990s when it was sidelined by the rise of information services, such as AOL, who adopted pricing... A bulletin board system or BBS is a computer system running software that allows users to dial into the system over a phone line and, using a terminal program, perform functions such as downloading software and data, uploading data, playing games, reading news, and exchanging messages with other users. ... Sun Microsystems, Inc. ... Sun Microsystems, Inc. ... Microsoft Corporation, (NASDAQ: MSFT, HKSE: 4338) is a multinational computer technology corporation with global annual revenue of US$44. ... The Internet Engineering Task Force (IETF) is charged with developing and promoting Internet standards. ... Microsoft Corporation, (NASDAQ: MSFT, HKSE: 4338) is a multinational computer technology corporation with global annual revenue of US$44. ...


Technology

The Windows Sockets API specification defines two interfaces: the API used by application developers, and the SPI, which provides a means for network software developers to add new protocol modules to the system. Each interface represents a contract. The API guarantees that a conforming application will function correctly with a conformant protocol implementation from any network software vendor. The SPI contract guarantees that a conforming protocol module may be added to Windows and will thereby be usable by an API-conformant application. Although these contracts were important when Windows Sockets was first released, as 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, but no commercial application is known to exist which utilises this transport, since the protocol was all but obsolete already at the time WSA 2.0 shipped. Microsoft has shipped a high-quality TCP/IP stack with all recent versions of Windows, and there are no significant independent alternatives. Nor has there been significant interest in implementing protocols other than TCP/IP. A application programming interface (API) is the interface that a computer system, library or application provides in order to allow requests for services to be made of it by other computer programs, and/or to allow data to be exchanged between them. ... This article or section does not cite its references or sources. ... Service Provider Interface (SPI) is a software mechanism to support replacable components. ... API may refer to: In computing, application programming interface In petroleum industry, American Petroleum Institute In education, Academic Performance Index This page concerning a three-letter acronym or abbreviation is a disambiguation page — a navigational aid which lists other pages that might otherwise share the same title. ... SPI may mean: SCSI Parallel Interface Security Parameter Index (networking) Serial Peripheral Interface (electronics) Service Provider Interface Simulations Publications Inc. ... IPX/SPX stands for Internetwork Packet Exchange/Sequenced Packet Exchange. ... Microsoft Corporation, (NASDAQ: MSFT, HKSE: 4338) is a multinational computer technology corporation with global annual revenue of US$44. ... The Internet protocol suite is the set of communications protocols that implement the protocol stack on which the Internet runs. ...


Windows Sockets is based on BSD sockets, but provides additional functionality to allow the API to comply with the standard Windows programming model. The Windows Sockets API covered almost all the features of the BSD sockets API, but there were some unavoidable obstacles which mostly arose out of fundamental differences between Windows and Unix (though to be fair Windows Sockets differed less from BSD sockets than the latter did from STREAMS). All function calls in the API begin with the moniker WSA, e.g. WSAGetHostByName() for making a hostname lookup. It should also be noted that Windows Sockets expanded on BSD Sockets functionality, by offering "non-blocking" or asynchronous Sockets (accessed by calling WSAAsynch before the desired function, e.g. WSAAsynchGetHostByName()) The Berkeley sockets application programming interface (API) comprises a library for developing applications in the C programming language that perform inter-process communication, most commonly across a computer network. ... The Berkeley sockets application programming interface (API) comprises a library for developing applications in the C programming language that perform inter-process communication, most commonly across a computer network. ... Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®) is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... The Berkeley sockets application programming interface (API) comprises a library for developing applications in the C programming language that perform inter-process communication, most commonly across a computer network. ... STREAMS is the Unix System V networking architecture. ... API may refer to: In computing, application programming interface In petroleum industry, American Petroleum Institute In education, Academic Performance Index This page concerning a three-letter acronym or abbreviation is a disambiguation page — a navigational aid which lists other pages that might otherwise share the same title. ...


However it was a design goal of Windows Sockets that it should be relatively easy for developers to port socket-based applications from Unix to Windows. It was not considered sufficient to create an API which was only useful for newly-written Windows programs. For this reason, Windows Sockets included a number of elements which were designed to facilitate porting. For example, Unix applications were able to use the same errno variable to record both networking errors and errors detected within standard C library functions. Since this was not possible in Windows, Windows Sockets introduced a dedicated function, WSAGetLastError(), to retrieve error information. Such mechanisms were helpful, but application porting remained extremely complex. Many "traditional" TCP/IP applications had been implemented by using system features specific to Unix, such as pseudo terminals and the fork system call, and reproducing such functionality in Windows was problematic. Within a relatively short time, porting gave way to the development of dedicated Windows applications. Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®) is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®) is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... The C standard library is a now-standardised collection of header files and library routines used to implement common operations, such as input/output and string handling, in the C programming language. ... The Internet protocol suite is the set of communications protocols that implement the protocol stack on which the Internet runs. ... Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®) is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... The title given to this article is incorrect due to technical limitations. ...


Specifications

Windows Sockets 1.1 logo
Windows Sockets 1.1 logo
  • Version 1.0 (June 1992) defined the basic operation of Winsock. It was kept very close to the existing interface of Berkeley sockets to simplify porting of existing applications. A few Windows-specific extensions were added, mainly for asynchronous operations with message-based notifications.
Although the document didn't limit support to TCP/IP, TCP and UDP were the only protocols explicitly mentioned. Most vendors only delivered TCP/IP support, although Winsock from DEC included DECNet support as well.
  • Version 1.1 (January 1993) made many minor corrections and clarifications of the specification. The most significant change was the inclusion of the gethostname() function.
  • Winsock 2 was a backwards-compatible extension of Winsock 1.1. It added support for protocol-independent name resolution, asynchronous operations with event-based notifications and completion routines, layered protocol implementations, multicasting, and quality of service. It also formalized support for multiple protocols, including IPX/SPX and DECNet. The new specification allowed sockets to be optionally shared between processes, incoming connection requests to be conditionally accepted, and certain operations to be performed on socket groups rather than individual sockets. Although the new specification differed substantially from Winsock 1, it provided source- and binary-level compatibility with the Winsock 1.1 API.
  • Versions 2.0.x (May 1994 onwards) had internal draft status, and were not announced as public standards.
  • Version 2.1.0 (January 1996) was the first public release of the Winsock 2 specification.
  • Version 2.2.0 (May 1996) included many minor corrections, clarifications, and usage recommendations. It was also the first version to remove support for 16-bit Windows applications.
  • Version 2.2.1 (May 1997) and Version 2.2.2 (August 1997) introduced minor functionality enhancements. Mechanisms were added for querying and receiving notification of changes in network and system configuration.
  • The IPv6 Technical Preview for Windows 2000 (December 2000) saw the first implementation of RFC 2553 (March 1999, later obsoleted by RFC 3493), a protocol-independent API for name resolution, which would become part of Winsock in Windows XP.

Image File history File links Winsock-small. ... The DEC logo Digital Equipment Corporation was a pioneering American company in the computer industry. ... DECnet is a proprietary suite of network protocols created by Digital Equipment Corporation, originally released in 1975 in order to connect two PDP-11 minicomputers. ... The term backwards compatible refers to the ability of a recent software or hardware components to be able to work with earlier versions of the same product. ... Routing Schemes anycast broadcast multicast unicast Multicast is sometimes also used to refer to a multiplexed broadcast, although that is a very different thing and should not be confused. ... In the fields of packet-switched networks and computer networking, the traffic engineering term Quality of Service (QoS) refers to control mechanisms that can provide different priority to different users or data flows, or guarantee a certain level of performance to a data flow in accordance with requests from the... IPX/SPX stands for Internetwork Packet Exchange/Sequenced Packet Exchange. ... DECnet is a proprietary suite of network protocols created by Digital Equipment Corporation, originally released in 1975 in order to connect two PDP-11 minicomputers. ... Internet Protocol version 6 (IPv6) is a network layer protocol for packet-switched internetworks. ... Windows 2000 (also referred to as Win2K) is a preemptible, interruptible, graphical and business-oriented operating system that was designed to work with either uniprocessor or symmetric multi-processor 32-bit Intel x86 computers. ... Windows XP is a line of proprietary operating systems developed by Microsoft for use on general-purpose computer systems, including home and business desktops, notebook computers, and media centers. ...

Implementations

Microsoft implementations

  • Microsoft did not supply an implementation of Winsock 1.0.
  • Version 1.1 of Winsock was supplied in an add-on package (called Wolverine) for Windows for Workgroups (code named Snowball). It was an integral component of Windows 95 and Windows NT 3.x.
  • Version 2 of Winsock was supplied in an add-on package for Windows 95. It was an integral component of Windows 98, Windows NT 4.0, and all subsequent Windows releases. (Microsoft did not supply implementations of Winsock 2 for Windows 3.x or Windows NT 3.x.)
  • Recent versions of Winsock 2.x have been delivered with new Windows releases or as part of service packs.

Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. ... Windows 98 (codenamed Memphis) is a graphical operating system released on June 25, 1998 by Microsoft and the successor to Windows 95. ... Windows NT 4. ... Microsoft Windows is the name of several families of proprietary software operating systems by Microsoft. ...

Other implementations

  • Among the other vendors offering Winsock-compliant TCP/IP stacks were (alphabetically) 3Com, Beame & Whiteside, DEC, Distinct, FTP Software, Frontier, IBM, Novell, Microdyne, NetManage, Sun Microsystems and Trumpet Software International
  • Trumpet Winsock was one of the few Winsock 1.0 implementations that could be installed under Windows 3.0, which had no built-in support for Winsock. Trumpet was also the most popular shareware implementation of Winsock for Windows 3.x.

3Com (NASDAQ: COMS) is a manufacturer best known for its computer network infrastructure products. ... FTP Software was a software company founded by James van Bokkelen, John Romkey (author of the MIT PC/IP package), Nancy Connor, Roxanne (nee Ritchie) Van Bokkelen, and Dave Bridgham. ... International Business Machines Corporation (known as IBM or Big Blue; NYSE: IBM) is a multinational computer technology corporation headquartered in Armonk, New York, USA. The company is one of the few information technology companies with a continuous history dating back to the 19th century. ... Novell, Inc. ... Sun Microsystems, Inc. ... Windows 3. ... Look up shareware in Wiktionary, the free dictionary. ...

Source

Originally adapted from: Aboba, Bernard D., comp.protocols.tcp-ip.ibmpc, Frequently Asked Questions, 1993. Usenet: news:news.answers. Thanks to http://www.foldoc.org.


See also

The Berkeley sockets application programming interface (API) comprises a library for developing applications in the C programming language that perform inter-process communication, most commonly across a computer network. ...

External links

Microsoft

  • The Windows Sockets API
  • Porting Berkley Socket programs to Winsock
  • Windows Network Development blog — Microsoft developer blog covering Winsock, WSK, WinINet, Http.sys, WinHttp, QoS and System.Net, with a focus on features being introduced in Windows Vista
  • Brief History of Microsoft on the Web

Windows Vista is a line of graphical operating systems used on personal computers, including home and business desktops, notebook computers, Tablet PCs, and media centers. ...

Other


  Results from FactBites:
 
Winsock - Wikipedia, the free encyclopedia (1108 words)
Winsock was proposed by Martin Hall of JSB Software (later Stardust Technologies) at the Interop in October 1991, during a "Birds of a Feather" session.
Winsock is based on BSD sockets, but provides additional functionality to allow the API to comply with the standard Windows programming model.
Winsock 2 is backwards-compatible extension of Winsock 1.1 interface.
Winsock - definition of Winsock in Encyclopedia (333 words)
Winsock intends to provide a single API to which both application developers and network software vendors should conform.
Winsock was conceived at the Interop in October 1991 during a "Birds of a Feather" session.
Version 2 of Winsock was supplied with Windows 98, Windows NT 4.0, and all subsequent Windows operating systems.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m