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. Message too long. A message sent on a datagram socket was larger than the internal message buffer or some other network limit, or the buffer used to receive a datagram into was smaller than the datagram itself.
Network is down.
A socket operation encountered a dead network. The host you were connected to crashed and rebooted. A socket operation was attempted to an unreachable network. This usually means the local software knows no route to reach the remote host. No buffer space available.