|
listen
The Windows Sockets listen function establishes a socket to listen for an incoming connection.
int listen (
Parameters
s
[in] A descriptor identifying a bound, unconnected socket.
backlog
[in] The maximum length to which the queue of pending connections can GROW. If
this value is SOMAXCONN, then the underlying service provider responsible for
socket s will set the backlog to a maximum "reasonable" value.
Remarks
To accept connections, a socket is first created with socket, a backlog for incoming connections is specified with listen, and then the connections are accepted with accept. listen applies only to sockets that are connection oriented, for example, those of
type SOCK_STREAM. The socket s is put into "passive'' mode where incoming connection requests are
acknowledged and queued pending acceptance by the process.
This function is typically used by servers that could have more than one
connection request at a time: if a connection request arrives with the queue full,
the client will receive an error with an indication of WSAECONNREFUSED.
listen attempts to continue to function rationally when there are no available
descriptors. It will accept connections until the queue is emptied. If descriptors
become available, a later call to listen or accept will refill the queue to the current or most recent "backlog'', if possible,
and resume listening for incoming connections.
An application can call listen more than once on the same socket. This has the effect of updating the
current backlog for the listening socket. Should there be more pending connections
than the new backlog value, the excess pending connections will be reset and dropped.
Compatibility
The backlog parameter is limited (silently) to a reasonable value as determined by the
underlying service provider. Illegal values are replaced by the nearest legal
value.
Return Values
If no error occurs, listen returns zero. Otherwise, a value of SOCKET_ERROR is returned, and a specific
error code can be retrieved by calling WSAGetLastError.
Error Codes
WSANOTINITIALISED
| A successful WSAStartup must occur before using this function.
| WSAENETDOWN
| The network subsystem has failed.
| WSAEADDRINUSE
| An attempt has been made to listen on an address in use.
| WSAEINPROGRESS
| A blocking Windows Sockets 1.1 call is in progress, or the service provider is
still processing a callback function.
| WSAEINVAL
| The socket has not been bound with bind.
| WSAEISCONN
| The socket is already connected.
| WSAEMFILE
| No more socket descriptors are available.
| WSAENOBUFS
| No buffer space is available.
| WSAENOTSOCK
| The descriptor is not a socket.
| WSAEOPNOTSUPP
| The referenced socket is not of a type that supports the listen operation.
|
See Also
accept, connect, socket
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime without manual coding. Full C# source codes are available More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|