Lwip的TCP连接状态
请教弄过网络的大侠,在使用RT-Thread,调试Lwip的TCP客户端,TCP连接后如何得到连接的状态?我想在断线时进行处理,重新进行连接。 int lwip_get_error(int s){
struct lwip_socket *sock;
sock = get_socket(s);
return sock->err;
} 哦?,谢谢 可惜,不清楚返回值含义。。。悲哀 看sockets.c
/** Table to quickly map an lwIP error (err_t) to a socket error
* by using -err as an index */
static const int err_to_errno_table[] = {
0, /* ERR_OK 0 No error, everything OK. */
ENOMEM, /* ERR_MEM -1 Out of memory error. */
ENOBUFS, /* ERR_BUF -2 Buffer error. */
ETIMEDOUT, /* ERR_TIMEOUT -3 Timeout */
EHOSTUNREACH,/* ERR_RTE -4 Routing problem. */
ECONNABORTED,/* ERR_ABRT -5 Connection aborted. */
ECONNRESET, /* ERR_RST -6 Connection reset. */
ESHUTDOWN, /* ERR_CLSD -7 Connection closed. */
ENOTCONN, /* ERR_CONN -8 Not connected. */
EINVAL, /* ERR_VAL -9 Illegal value. */
EIO, /* ERR_ARG -10 Illegal argument. */
EADDRINUSE, /* ERR_USE -11 Address in use. */
-1, /* ERR_IF -12 Low-level netif error */
-1, /* ERR_ISCONN -13 Already connected. */
EINPROGRESS /* ERR_INPROGRESS -14 Operation in progress */
}; 非常感谢,看来LS对此非常熟悉了。调试ing,貌似有些状态对不上。 关注 回复【1楼】yyl81
int lwip_get_error(int s)
{
struct lwip_socket *sock;
sock = get_socket(s);
return sock->err;
}
-----------------------------------------------------------------------
s 为socket fd? 这个是rtt这边扩展的,不联系使用。1.0.0中应该有更好的方式
页:
[1]