socket_last_error() - socket通信函数
socket_last_error()
(PHP 4 >= 4.1.0, PHP 5, PHP 7)
Returns the last error on the socket
说明
socket_last_error([resource $socket]): intIf 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.
If no error had occurred, or the error had been cleared with socket_clear_error(), the function returns0.
参数
$socketA valid socket resource created with socket_create().
返回值
This function returns a socket error code.
范例
socket_last_error() example
note that socket_last_error() cache the last error from the last socket syscall, it does not actually query the OS for the last error on the socket, so if an async socket have an error after the last async operation started successfully, socket_last_error() doesn't know about it, but socket_get_option($sock, SOL_SOCKET, SO_ERROR) actually query the OS, or so it seems... observed on PHP 7.1.16 on Cygwin on win7 x64 SP1 with non-blocking sockets, socket_last_error() never caught on to the fact that the current error had changed from EINPROGRESS (non-blocking connect) to 0 (connection successful)