EINTR : 被信号中断的慢速系统调用,当捕捉到信号且相应信号处理函数返回时
ECONNABORTED:由于客户端在服务accept前发送了RST复位信号,客户端可由SO_LINGER控制(UNPV16.21图),实际在较忙的web服务器会出现 unpv 5.11节
EPROTO: 流子系统发生某些致命的协议相关事件,会返回此错误 unpv 5.11节
以下在设置 非阻塞accept 时需忽略以下信号
EWOULDBLOCK:
1、使用setsockopt设置SO_RCVTIMEO为recvfrom设置超时
2、非阻塞套接字如read、recv、recvfrom、recvmsg、write、send、以及accept,如果输入、输出操作不能得到满足,会返回此错误
3、EWOULDBLOCK(源自Berkeley)客户中止连接、ECONNABORTED (源自POSIX,客户中止连接)、
EPROTO:(SVR4实现,客户中止连接) 和 EINTR(如果由信号被捕获)
设置非阻塞connect 忽略以下信号
EINPROGRESS : 对于非阻塞connect,并且连接不能立即建立,会返回此错误,但连接的建立会依然进行
远端拒绝(程序未启动或未监听该套接字)
ECONNREFUSED: 当客户去连接一个未启动的服务程序,或者该服务程序未监听,客户connect会立即返回该错误,硬错误
非阻塞或 设置SO_RCVTIMEO套接字超时会返回EAGAIN
EAGAIN: 1、当应用程序进行一些非阻塞(non-blocking)操作(对文件或socket)的时候。例如&#x