call. A blocking operation was interrupted by a call to
||Generic error for
invalid format, bad format.
||Permission denied. An
attempt was made to access a socket in a way forbidden
by its access permissions. An example is using a
broadcast address for "sendto" without
broadcast permission being set using setsockopt
||Bad address. The
system detected an invalid pointer address in
attempting to use a pointer argument of a call. This
error occurs if an program passes an invalid pointer
value, or if the length of the buffer is too small. For
instance, if the length of an argument which is a
struct sockaddr is smaller than sizeof(struct
Some invalid argument was supplied (for example,
specifying an invalid level to the setsockopt
function). In some instances, it also refers to the
current state of the socket - for instance, calling
accept on a socket that is not listening.
||Too many open files.
Too many open sockets. Each implementation may have a
maximum number of socket handles available, either
globally, per process or per thread.
||The IP address
provided is not valid or the host specified by the IP
does not exist.
||Socket operation on a
non-socket. An operation was attempted on something
that is not a socket. Either the socket handle
parameter did not reference a valid socket, or for
select, a member of an fd_set was not valid.
||Address already in
use. Only one usage of each socket address (protocol/IP
address/port) is normally permitted. This error occurs
if a program attempts to bind a socket to an IP
address/port that has already been used for an existing
socket, or a socket that wasn't closed properly, or
one that is still in the process of closing. For server
programs that need to bind multiple sockets to the same
port number, consider using setsockopt(SO_REUSEADDR).
Client programs usually need not call bind at all -
connect will choose an unused port automatically.
requested address. The requested address is not valid
in its context. Normally results from an attempt to
bind to an address that is not valid for the local
machine, or connect/sendto an address or port that is
not valid for a remote machine (e.g. port 0).
||Network is down. A
socket operation encountered a dead network. This could
indicate a serious failure of the network system (the
protocol stack that the WinSock DLL runs over), the
network interface, or the local network itself.
unreachable. A socket operation was attempted to an
unreachable network. This usually means the local
software knows no route to reach the remote host.
connection on reset. The host you were connected to
crashed and rebooted. May also be returned by
setsockopt if an attempt is made to set SO_KEEPALIVE on
a connection that has already failed.
connection abort. An established connection was aborted
by the software in your host machine, possibly due to a
data transmission timeout or protocol error.
||Connection reset by
peer. An existing connection was forcibly closed by the
remote host. This normally results if the peer program
on the remote host is suddenly stopped, the host is
rebooted, or the remote host used a "hard
close" (see setsockopt for more information on the
SO_LINGER option on the remote socket.)
||Socket is not
connected. A request to send or receive data was
disallowed because the socket is not connected and
(when sending on a datagram socket using sendto) no
address was supplied. Any other type of operation might
also return this error - for example, setsockopt
setting SO_KEEPALIVE if the connection has been
||Cannot send after
socket shutdown. A request to send or receive data was
disallowed because the socket had already been shut
down in that direction with a previous shutdown call.
By calling shutdown a partial close of a socket is
requested, which is a signal that sending or receiving
or both has been discontinued.
||Connection timed out.
A connection attempt failed because the connected party
did not properly respond after a period of time, or
established connection failed because connected host
has failed to respond.
No connection could be made because the target machine
actively refused it. This usually results from trying
to connect to a service that is inactive on the foreign
host - i.e. one with no server program running.
||Specified host name
is too long.
||Host is down. A
socket operation failed because the destination host
was down. A socket operation encountered a dead host.
Networking activity on the local host has not been
initiated. These conditions are more likely to be
indicated by the error WSAETIMEDOUT.
||No route to host. A
socket operation was attempted to an unreachable host.
||Network subsystem is
unavailable. This error is returned by WSAStartup if
the Windows Sockets implementation cannot function at
this time because the underlying system it uses to
provide network services is currently unavailable.
not yet performed. Either the program has not called
WSAStartup or WSAStartup failed. The program may be
accessing a socket which the current active task does
not own (i.e. trying to share a socket between tasks),
or WSACleanup has been called too many times.
||Graceful shutdown in
progress. Returned by recv, WSARecv to indicate the
remote party has initiated a graceful shutdown
||Host not found. No
such host is known. The name is not an official
hostname or alias, or it cannot be found in the
database(s) being queried. This error may also be
returned for protocol and service queries, and means
the specified name could not be found in the relevant
not found. This is usually a temporary error during
hostname resolution and means that the local server did
not receive a response from an authoritative server. A
retry at some time later may be successful.