ESP32 socket (LWIP) problem
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Sobota Listopad 20 14:12:34 CET 2021
Tak po testovani to vypada skutecne dobre funkcni, jen jestli jsem
pochopil spravne parametry:
SO_KEEPALIVE - zapne funkci testovani spojeni
TCP_KEEPIDLE - prodleva, nez zacne testovat po posledni komunikaci
TCP_KEEPINTVL - perioda s kterou se rovadi test, dokud je neuspesny
TCP_KEEPCNT - pocet pokusu, nez to shodi spojeni
Je to tak? Cas celkem odpovida, po case TCP_KEEPIDLE + TCP_KEEPINTVL *
TCP_KEEPCNT se pri z read (asi i write) vrati chyba.
Dne 20.11.2021 v 0:21 Jaroslav Buchta napsal(a):
> Tak asi jsem na to prisel, zrejme jsou nastavene vysoke casy pro keep
> alive. Takhle to dela asi 6s ale hodnoty a jejich vyznam jeste budu
> muset analyzovat...
>
> const int optval = 1;
> setsockopt(sc, SOL_SOCKET, SO_KEEPALIVE, &optval,
> sizeof(optval));
> const int keepidle = 3;
> setsockopt(sc, IPPROTO_TCP, TCP_KEEPIDLE, (void
> *)&keepidle, sizeof(keepidle));
> const int keepintvl = 2;
> setsockopt(sc, IPPROTO_TCP, TCP_KEEPINTVL, (void
> *)&keepintvl, sizeof(keepintvl));
> const int keepcnt = 3;
> setsockopt(sc, IPPROTO_TCP, TCP_KEEPCNT, (void *)&keepcnt,
> sizeof(keepcnt));
>
> Dne 19.11.2021 v 23:26 Jaroslav Buchta napsal(a):
>> Zdravim,
>>
>> problem je v tom, ze kdyz se nejaky zpusobe narusi komunikace (ESP je
>> server), napr. vytahnu kabel z pocitace, kde bezi putty tak spojeni
>> nevyhnije, read i recv dava errno = EAGAIN i kdyz cekam treba hodinu.
>> To same write, tvari se, ze funguje.
>>
>> Potreboval bych zjistit, ze spojeni je nefunkcni a ukoncit ho, aby
>> mohlo byt vytvoreno znovu. Je na to nejaka finta?
>>
>> Data nemusi delsi dobu prichazet, je to proste terminalove rozhrani.
>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list