LWIP netconn non blocking принимает зависание

Я использую netconn api в LWIP, но в неблокирующем режиме. Поэтому, когда я открываю новый сокет, я присоединяю к нему обратный вызов.
Я получаю обратный вызов, когда я пытаюсь подключиться к клиенту, и когда я получаю обратный вызов, я вызываю netconn_accept (), но это блокирует навсегда. Может ли кто-нибудь помочь, кажется, висит на sys_arch_mbox_fetch

static callback(struct netconn *conn, enum netconn_evt evt, uint16_t length)
{
switch (evt) {
case NETCONN_EVT_RCVPLUS:
if (conn->state == NETCONN_LISTEN)
accept(&conn);
}

struct netconn* accept(struct netconn *conn)
{
struct netconn *nc;
if (netconn_accept(conn, &nc) == ERR_OK)
return nc;
else
return NULL;
}

struct netconn *nc = NULL;
nc = netconn_new_with_callback(NETCONN_TCP, callback);
if(!*nc) {
return;
}
netconn_set_nonblocking(nc,NETCONN_FLAG_NON_BLOCKING);
netconn_set_recvtimeout(nc, 1);
netconn_bind(nc, IP_ADDR_ANY, 100);
netconn_listen(*nc);

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]