Писать больше, чем читать по сокету

Есть ли способ сэмплировать видеопоток через IP-сокет?

Могу ли я сделать так, чтобы сервер записывал изображения фиксированного размера в сокет, и чтобы клиент считывал только самые последние изображения из сокета, удаляя кадры по мере необходимости?

TCP можно смоделировать как очередь, поэтому могут возникнуть проблемы, если длина очереди увеличится из-за того, что число записей превышает количество операций чтения, верно?

0

Решение

Я столкнулся с такой проблемой при чтении из сокета в Ubuntu, где Ubuntu буферизует UDP-сообщения.

Самым простым исправлением было чтение в цикле, пока сокет не вернул 0 байтов, а затем только обработка данных из последнего успешного чтения

Во встроенной системе примерно через 2 дня в очереди на GPS-данные будет стоять до 10 минут.

чтение в коротком цикле в буфер, пока recv () не вернул 0 байтов, затем использование результатов последнего успешного чтения устранило проблему

Я никогда не нашел способ сказать Ubuntu не буферизировать входящие пакеты UDP

1

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector