|
Multiple Provider Restrictions on select
The select function is used to determine the status of one or more sockets in a set. For
each socket, the caller can request information on read, write, or error
status. A set of sockets is indicated by an FD_SET structure.
Windows Sockets 2 allows an application to use more than one service provider,
but the select function is limited to a set of sockets associated with a single service
provider. This does not in any way restrict an application from having multiple
sockets open through multiple providers.
There are two ways to determine the status of set of sockets that span more
than one service provider: 1) using the WSAWaitForMultipleEvents or WSAEventSelect functions when blocking semantics are employed, and 2) using the WSAAsyncSelect function when nonblocking operations are employed.
When an application needs to use blocking semantics on a set of sockets that
spans multiple providers, WSAWaitForMultipleEvents is recommended. The application can also use the WSAEventSelect function, which allows the FD_XXX network events (see WSAEventSelect) to associate with an event object and be handled from within the event
object paradigm (described in Overlapped I/O and Event Objects).
The WSAAsyncSelect function is recommended when nonblocking operations are preferred. This
function is not restricted to a single provider because it takes a socket descriptor
as an input parameter.
Related Links
Software for Delphi and C++ Builder developers
Software for Visual Studio .NET developers
Software for Visual Basic 6 developers
Delphi Tips&Tricks
MegaDetailed.NET
More Online Helps
Win32 Programmer's Reference (win32.hlp)
Win32 Multimedia Programmer's Reference (mmedia.hlp)
OLE Programmer's Reference (ole.hlp)
Microsoft Windows Pen API Programmer's Reference (penapi.hlp)
Microsoft Windows Telephony API (TAPI) Programmer's Reference (tapi.hlp)
Unix Manual Pages
|