Перейти к содержанию
    

LWIP как изменить размер исходящего пакета?

Уважаемые коллеги, здравствуйте!

Делаю устройство на STM32F427 с использованием LWIP Sockets. Отправляю в сокет пакеты длиной 9 байт с частотой 120Гц. На приёмной стороне среднее количество полученных девятибайтовых пакетов за секунду 120. То есть все пакеты доходят до адресата отлично. Но! Wireshark мне показывает вот такую картину. Он говорит, что за секунду отправляется 5 TCP пакетов с payload 216 байт. То есть 24 девятибайтовых посылки в одном пакете. Мне нужно передавать быстроменяющийся сигнал, и за 200мс он безнадежно устареет.

Вопрос такой. Как сделать, чтобы LWIP старался отправить TCP пакет сразу, а не накапливал данные в буфере? Я понимаю, что такой подход неэффективен, но нужно именно так.

Заранее благодарю за ответы.

Screenshot_59.png

Screenshot_60.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Arlleex said:

tcp_nagle_disable()?

Ну или нафиг TCP... Может, лучше UDP?

UDP тоже надо сделать. Позже займусь) А как определить текущий PCB  для tcp_nagle_disable? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, коллеги, это делается элементарно, оказывается.

int optValue = 1;
setsockopt(newconn, IPPROTO_TCP, TCP_NODELAY, (void*)&optValue, sizeof(optValue));

Работает идеально, я получил, что хотел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это, собственно, оно и есть. Я, просто, без понятия, как это делается в сокетах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, Arlleex said:

Это, собственно, оно и есть. Я, просто, без понятия, как это делается в сокетах.

Да, именно так. Поэтому спасибо за наводку)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...