linux socket系统调用socket,accept,bind,listen,connect,send,recv等函数出错时,errno的值及其含义对应如下:
EAGAIN: Resource temporarily unavailable EWOULDBLOCK: Resource temporarily unavailable EBADF: Bad file descriptor ECONNREFUSED: Connection refused EFAULT: Bad address EINTR: Interrupted system call EINVAL: Invalid argument ENOMEM: Cannot allocate memory ENOTCONN: Transport endpoint is not connected ENOTSOCK: Socket operation on non-socket EACCES: Permission denied ECONNRESET: Connection reset by peer EDESTADDRREQ: Destination address required EMSGSIZE: Message too long ENOBUFS: No buffer space available EOPNOTSUPP: Operation not supported EPIPE: Broken pipe EPERM: Operation not permitted EADDRINUSE: Address already in use EAFNOSUPPORT: Address family not supported by protocol EALREADY: Operation already in progress EINPROGRESS: Operation now in progress EISCONN: Transport endpoint is already connected ENETUNREACH: Network is unreachable ETIMEDOUT: Connection timed out EMFILE: Too many open files ENFILE: Too many open files in system EPROTO: Protocol error EADDRINUSE: Address already in use EADDRNOTAVAIL: Cannot assign requested address ELOOP: Too many levels of symbolic links ENAMETOOLONG: File name too long ENOENT: No such file or directory ENOTDIR: Not a directory EROFS: Read-only file system EPROTONOSUPPORT: Protocol not supported
2 thoughts on “linux socket系统调用的错误码及含义”