socket_last_error — Returns the last error on the socket
If a socket resource is passed to this function, the last error which
occurred on this particular socket is returned. If the socket resource is
omitted, the error code of the last failed socket function is returned.
The latter is particularly helpful for functions like
socket_create() which don't return a socket on
failure and socket_select() which can fail for reasons
not directly tied to a particular socket. The error code is suitable to
be fed to socket_strerror() which returns a string
describing the given error code.