Обработка post запроса при помощи HTTP сервера, Pico RP2040 и W5500
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Share projects and connect with makers.
Joined before the site update? first.
New to WIZnet Makers?
We sent a verification link to your address. Open it to activate your account, then log in.
Accounts from this email provider are reviewed by an administrator after verification. Approval usually takes one business day.
Already have an account?
Enter your email address. If it belongs to an account, we'll send a link to set a new password. Members who joined before the site update use this to set their password.
If an account uses that address, we sent a link to set a new password. The link works once and expires in 30 minutes.
Know your password?
Need an account?
RE: Обработка post запроса при помощи HTTP сервера, Pico RP2040 и W5500
by Eugeny ·
Это подпрограмма, которая выводит результат. А где то, что получает данные?
Библиотека веб-сервера, которую вы используете, поддердживает HTTP POST?
RE: RE: Обработка post запроса при помощи HTTP сервера, Pico RP2040 и W5500
by wolfhess ·
Вот библиотека веб-сервера (и не только). http_post_cgi_handler вызывается в библиотеке веб-сервера в файле httpServer.c.
RE: Обработка post запроса при помощи HTTP сервера, Pico RP2040 и W5500
by Eugeny ·
Что показывает, если включить
_HTTPSERVER_DEBUG_? В принципе система-то простая, без дополнительной информации мыслей по возможной причине заявленной проблемы нет.RE: Обработка post запроса при помощи HTTP сервера, Pico RP2040 и W5500
by wolfhess ·
На первом фото отправлен маленький файл(387 байт) - его тело полностью выведено. Это обычные текстовые единицы, не бинарные. На втором файл размером 2.13 КБ, его тело не выведено и буфер приема сокета переполнен, как я понимаю. Если отправить 8 раз такой файл(максимальное число соединений, которое задается в главной функции), то все сокеты зависают намертво и даже не выполнить обычный GET запрос.
RE: Обработка post запроса при помощи HTTP сервера, Pico RP2040 и W5500
by Eugeny ·
Здесь почему-то нет никакого диагностического вывода. Поставтьте его туда и сюда, чтобы определить, исполняется ли это все, и с каким статусом завершается.
Не думаю, что “буфер переполняется”, это базовая функция, которая должна быть отточена до блеска. Скорее всего, проблема где-то в другом месте.
RE: Обработка post запроса при помощи HTTP сервера, Pico RP2040 и W5500
by wolfhess ·
Добавил диагностический вывод.
На первой картинке результат до попытки отправлять большие файлы. Прослушивает все 8 сокетов. На второй картинке результат после отправки восьми раз больших файлов, все сокеты закрыты, не загружается даже index страница. После отправки большого файла, сокет обрабатывающий его закрывается навсегда. Читал тут на форуме, что если rx буфер заполнен, то tx не может передавать данные. И то, что буферы имеют архитектуру кольца и при переполнении уже не могут очиститься.
RE: Обработка post запроса при помощи HTTP сервера, Pico RP2040 и W5500
by Eugeny ·
Это что-то новенькое. По идее, такого не должно быть. Потому, что тогда это конкретный баг. Скорее всего, кто-то что-то неправильно запрограммировал.
Такого быть не должно. Где-то в логике проблема. Надо отследить весь процесс по дебаг выводам (в том числе перехода от одного состояния в другое), и посмотреть, почему сокет не переоткрывается и не переключается в режим LISTEN.