linux socket系统调用的错误码及含义

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

http://1.guotie.sinaapp.com/?p=256

2 thoughts on “linux socket系统调用的错误码及含义

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据