IvanPletnev 0 5 февраля, 2021 Опубликовано 5 февраля, 2021 · Жалоба Уважаемые коллеги, здравствуйте! Делаю устройство на STM32F427 с использованием LWIP Sockets. Отправляю в сокет пакеты длиной 9 байт с частотой 120Гц. На приёмной стороне среднее количество полученных девятибайтовых пакетов за секунду 120. То есть все пакеты доходят до адресата отлично. Но! Wireshark мне показывает вот такую картину. Он говорит, что за секунду отправляется 5 TCP пакетов с payload 216 байт. То есть 24 девятибайтовых посылки в одном пакете. Мне нужно передавать быстроменяющийся сигнал, и за 200мс он безнадежно устареет. Вопрос такой. Как сделать, чтобы LWIP старался отправить TCP пакет сразу, а не накапливал данные в буфере? Я понимаю, что такой подход неэффективен, но нужно именно так. Заранее благодарю за ответы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 187 5 февраля, 2021 Опубликовано 5 февраля, 2021 · Жалоба tcp_nagle_disable()? Ну или нафиг TCP... Может, лучше UDP? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IvanPletnev 0 5 февраля, 2021 Опубликовано 5 февраля, 2021 · Жалоба 1 hour ago, Arlleex said: tcp_nagle_disable()? Ну или нафиг TCP... Может, лучше UDP? UDP тоже надо сделать. Позже займусь) А как определить текущий PCB для tcp_nagle_disable? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IvanPletnev 0 5 февраля, 2021 Опубликовано 5 февраля, 2021 · Жалоба Да, коллеги, это делается элементарно, оказывается. int optValue = 1; setsockopt(newconn, IPPROTO_TCP, TCP_NODELAY, (void*)&optValue, sizeof(optValue)); Работает идеально, я получил, что хотел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 187 5 февраля, 2021 Опубликовано 5 февраля, 2021 · Жалоба Это, собственно, оно и есть. Я, просто, без понятия, как это делается в сокетах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IvanPletnev 0 5 февраля, 2021 Опубликовано 5 февраля, 2021 · Жалоба Just now, Arlleex said: Это, собственно, оно и есть. Я, просто, без понятия, как это делается в сокетах. Да, именно так. Поэтому спасибо за наводку) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться