错误码

linux网络编程常见socket错误分析

爱⌒轻易说出口 提交于 2020-03-25 12:46:23
3 月,跳不动了?>>> 常见socket错误码 EINTR: 阻塞的操作被取消阻塞的调用打断。如设置了发送接收超时,就会遇到这种错误。 只能针对阻塞模式的socket。读,写阻塞的socket时,-1返回,错误号为INTR。另外,如果出现EINTR即errno为4,错误描述Interrupted system call,操作也应该继续。如果recv的返回值为0,那表明连接已经断开,接收操作也应该结束。 ETIMEOUT: 1、操作超时。一般设置了发送接收超时,遇到网络繁忙的情况,就会遇到这种错误。 2、服务器做了读数据做了超时限制,读时发生了超时。 3、错误被描述为“connect time out”,即“连接超时”,这种情况一般发生在服务器主机崩溃。此时客户 TCP 将在一定时间内(依具体实现)持续重发数据分节,试图从服务 TCP 获得一个 ACK 分节。当最终放弃尝试后(此时服务器未重新启动),内核将会向客户进程返回 ETIMEDOUT 错误。如果某个中间路由器判定该服务器主机已经不可达,则一般会响应“destination unreachable”-“目的地不可达”的ICMP消息,相应的客户进程返回的错误是 EHOSTUNREACH 或ENETUNREACH。当服务器重新启动后,由于 TCP 状态丢失,之前所有的连接信息也不存在了,此时对于客户端发来请求将回应 RST

HTTP 常见错误代码与含义

旧街凉风 提交于 2020-03-02 04:37:57
/** Constants int HTTP_ACCEPTED Numeric status code, 202: Accepted int HTTP_BAD_GATEWAY Numeric status code, 502: Bad Gateway int HTTP_BAD_METHOD Numeric status code, 405: Bad Method int HTTP_BAD_REQUEST Numeric status code, 400: Bad Request int HTTP_CLIENT_TIMEOUT Numeric status code, 408: Client Timeout int HTTP_CONFLICT Numeric status code, 409: Conflict int HTTP_CREATED Numeric status code, 201: Created int HTTP_ENTITY_TOO_LARGE Numeric status code, 413: Entity too large int HTTP_FORBIDDEN Numeric status code, 403: Forbidden int HTTP_GATEWAY_TIMEOUT Numeric status code, 504: Gateway