TCP или UDP для передачи изображений

Я использую стек lwip на своей встроенной платформе. Я подключил плату к своему ПК через Ethernet. Мое приложение, работающее на борту, выгружает данные изображения из Ethernet. Приложения для ПК ожидают заголовка, после заголовка оно декодирует данные и отображает изображение.

Это только для целей отладки. Размер моих изображений составляет 4 МБ, и я получаю 20 кадров в секунду. Таким образом, это будет 80 МБ данных в секунду.

Целесообразно ли использовать TCP или UDP?

Я пробовал использовать TCP, но мои буферы отправки переполняются, и он будет ждать около 200 мс, чтобы получить подтверждение. За это время я теряю 5-6 изображений, поступающих с сенсора. Можно ли это исправить, если я использую UDP?

Спасибо, Сатья


person Sathya    schedule 26.11.2013    source источник


Ответы (1)


Я предлагаю вам применить к вашим изображениям какое-то сжатие, прежде чем отправлять их в сеть.

Тем не менее, если вы используете UDP, вы можете улучшить скорость передачи, но вам нужен код, который может обрабатывать потерянные пакеты (отбросить изображение или запросить повторную отправку или заполнить затронутую область)

person DusteD    schedule 26.11.2013
comment
Размер самого сжатого изображения составляет 4 МБ (макс.). Спасибо за ваше предложение. Постараюсь справиться с потерянными пакетами. - person Sathya; 27.11.2013