Я написал приложение для Android, которое запускает tcpdump в процессе с помощью ProcessBuilder. Когда я запускаю процесс и опрашиваю InputStream, то ИНОГДА случается, что первый вывод пишется через 20-30 секунд - хотя пакеты были захвачены.
Я использую tcpdump -l, поэтому выходные данные буферизуются в строку.
Когда я перезапускаю процесс (killall), он немедленно отвечает на новые пакеты.
У кого-нибудь есть предложения? Есть ли какая-либо буферизация в сетевом стеке, которую необходимо очистить в первую очередь?
Спасибо за любые предложения!