ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
22 февраля
1497882 Топик полностью
Driver_gv (12.02.2025 22:08, просмотров: 137) ответил POV на загадочный LWIP... куда копать с задержками открытия страниц?...
Могу рассказать почему, но не знаю как это лечить в LWIP , так как его не использую. 

Букв будет много , надеюсь поймете в чем суть.

В общем суть в следующем. Браузер открывает много, обычно 5- 10 TCP соединений с своего IP но с разных портов, посылая пакеты SYN. Если в какой-то сессии соединение установлено но данных нет или нет подтверждений ASK то стек на стороне браузера будет ждать ровно 10 секунд до разрыва соединения со стороны браузера. Это проявляется тормозом открытия страниц. Время ожидания можно назначить другим, есть в спецификации TCP. Но если отработать каждое соединение, открыв или закрыв - то тормозов не будет. В общем у меня свой самописный стек и я столкнулся с этим лет 6-7 назад . У меня кэшируются все SYN запросы, но только с этого же IP в данной сессии , и на них идет ответ сразу, а вот данные идут позже, когда по первому соединению все закрыто. Если количество SYN превышает размер кеша открытых соединений , то сразу идет отлуп -RST. В общем суть , на все запросы в пределах доступного размера количества сессий все SYN корректно отрабатываем, на лишние -RST . Остальные ждут на стороне браузера для повтора.

Дале по первой сессии выгружаем файл. Далее по остальным. В процессе количества сессий , по которым ранее пришел RST , браузер резво повторяет запрос SYN по окончанию какой- то сессии. Вроде как понимает предел сервера по сессиям с одного IP . Да и проц у меня PIC18F67J60 с озу 4к. Общий вес HTML около 100 - 200 кб . Одна страница 5-30 кб, мту -128 или 256 байт, не помню точно. Всякие ico css и прочее есть.

PS как это править в LWIP я не знаю. Вышесказанное было выявлено на основе логов сниффера и пофиксено. Устройства выпускаются серийно до сих пор и проблем нет.