Код
while(1)
{
in_socket = lwip_accept(console_lsocket, (struct sockaddr*)&insock_addr, (socklen_t*)&in_addrlen);
if(in_socket >= 0)
{
_console_data_processing(in_socket);
lwip_close(in_socket);
}
}
{
in_socket = lwip_accept(console_lsocket, (struct sockaddr*)&insock_addr, (socklen_t*)&in_addrlen);
if(in_socket >= 0)
{
_console_data_processing(in_socket);
lwip_close(in_socket);
}
}
Здесь я принимаю соединение и дальше работаю в _console_data_processing(in_socket);
Код
//==============================================================================
static void _console_data_processing(int in_socket) //console processing
//==============================================================================
{
int nbytes = 0;
char buff[CONSOLE_TMP_RX_BUF_SIZE];
do
{
nbytes = lwip_recv(in_socket, buff, sizeof(buff), MSG_DONTWAIT); //0
if(nbytes > 0)
{
console.socket = in_socket;
_console_put_data((u8*)buff, nbytes);
}
_timer_delay_ms(5);
}while(1); //как проверить стояние подключения ?????
}
static void _console_data_processing(int in_socket) //console processing
//==============================================================================
{
int nbytes = 0;
char buff[CONSOLE_TMP_RX_BUF_SIZE];
do
{
nbytes = lwip_recv(in_socket, buff, sizeof(buff), MSG_DONTWAIT); //0
if(nbytes > 0)
{
console.socket = in_socket;
_console_put_data((u8*)buff, nbytes);
}
_timer_delay_ms(5);
}while(1); //как проверить стояние подключения ?????
}
То есть как мне узнать что клиент от меня отключился???
lwip_recv() если никто не подключен или не передаются данные возвращает -1.
Может есть какая то АПИ функция чтобы узнать состояние подключения?