2015-12-21 78 views
1

我使用boost :: ASIO在Linux上发送HTTP请求,使用几乎一模一样的代码boost asio httperrno.h中插座/连接错误分类

我要赶例外,并errno.h中的错误代码把它们归类到三个组

GROUP 1.由于本地主机套接字/连接而发生错误。

GROUP 2.由于本地主机或远程主机或第三方发生错误。

GROUP 3.由于远程主机套接字/连接而发生错误 。

Error codes + errno.h define

我设法分类(林不知道这件事)

GROUP 1

#define ENETDOWN  100  /* Network is down */ 
#define ENETUNREACH  101  /* Network is unreachable */ 
#define ENETRESET  102  /* Network dropped connection because of reset */ 

GROUP 2

//Not sure. 

集团3

#define ETIMEDOUT  110  /* Connection timed out */ 
#define ECONNREFUSED 111  /* Connection refused */ 
#define EHOSTDOWN  112  /* Host is down */ 
#define EHOSTUNREACH 113  /* No route to host */ 

我希望你能帮助我找到在组不正确的错误代码或添加错误代码,我错过的组。

回答

1

组2:

EAGAIN/EWOULDBLOCK 

组3:

ECONNRESET