博客搬家,原地址:https://langzi989.github.io/2018/02/04/Unix网络编程相关错误码总结/
特别注意当出现一下错误码时,处理之后一定要将errno复位为0
在网络编程的过程中会出现一些错误码,下面总结:
-
EAGAIN(11) : Resource temporarily unavailable
- 错误原因:当将套接字设置为异步时,由于函数调用之后是立即返回的,所以会出现两种情况导致这个错误:(1):当调用read函数,此时没有数据可读,此时read函数会立即返回错误码EAGAIN表示此时无数据可读(2):当调用write函数,此时缓冲区满,write函数将会立即返回错误码EAGAIN。
- 解决方法:EAGAIN错误表示此时无数据可读或者缓冲区已满,所以此时只需要重试即可。
-
ECONNRESET(104):Connection reset by peer
- 错误原因:当对端socket已关闭,此时调用read或write函数将返回ECONNRESET错误,在之后如果继续调用read或write,就会得到该错误。常见的原因是发送端接收端实现约定好的数据长度不一致,若接收